![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem teoretyczny. Jest taka sytuacja
Mam klasę abstrakcyjną Człowiek, która realizuje jakieś opcje. I różni ludzie dziedziczą po tej klasie np:
i chcę aby każdy człowiek posiadał odpowiednie metody(które np ustalają co człowiek potrafi, jak myśli, dla każdego wykonanie tej metody ma być inna). mogę zrealizować to za pomocą interfejsu np. Interface Genetyka
i wtedy będę miał:
ale coś mnie to kole w oczy. Ale mogę dodać metody do klasy abstrakcyjnej skoro i tak każdy człowiek po niej dziedziczy. Co wy byście zrobili. Zastosowali interface czy dodali definicje metod do klasy. Ten post edytował daniel1302 30.11.2011, 17:32:19 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 14 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Zacznijmy od tego, że to że Daniel to świr i ma nie wiadomo jakie umiejętności - To tylko właściwości obiektu klasy Człowiek.
Cytat Co jezeli fabryka volvo wytwarza swoje samochody najnowsza technologia, a fabryka chinaszajs rzezbi swoje auta w drewnie? Samochód stworzony z drewna czy ze stali nierdzewnej to już inna działka, bo wtedy to byłyby klasy osobne DrewanianeAuto, MetaloweAuto, PapieroweAuto, które mogłyby dziedziczyć po AbstrakcyjneAuto, z abstrakcyjną metodą buduj. Cytat to co piszecie to jest kompletne zaprzeczenie dziedziczenia jakiego uczono mnie na studiach / w kursach / wszędzie. Klasa - szablon. Obiekt - gotowy egzemplarz zyjący wlasnym zyciem. W takim razie albo źle uważałeś na kursach, albo wykładowca sam źle dziedziczył, ale umysłowo. Ten post edytował Dipter 30.11.2011, 23:51:36 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zacznijmy od tego, że to że Daniel to świr i ma nie wiadomo jakie umiejętności - To tylko właściwości obiektu klasy Człowiek. Samochód stworzony z drewna czy ze stali nierdzewnej to już inna działka, bo wtedy to byłyby klasy osobne DrewanianeAuto, MetaloweAuto, PapieroweAuto, które mogłyby dziedziczyć po AbstrakcyjneAuto, z abstrakcyjną metodą buduj. W takim razie albo źle uważałeś na kursach, albo wykładowca sam źle dziedziczył, ale umysłowo. umiejetnosc jest metodą a nie polem chyba ze uzywamy języka na prototypach nie mozliwe zeby tyle ludzi na raz sie pomylilo wiec najprawdopodobniej zafiksowaliscie sie na jakims niefortunnym zdaniu i nie chce wam sie przeczytac calego posta np to: Z tego by wynikało, że każdy Daniel ma to samo IQ... < jakim cudem skoro napisalem ze mnozymy przez mnoznik specyficzny dla daniela? __construct(IQ) { $this->IQ = IQ*self::mnoznik; } ew. { $this->IQ = IQ*$this->getMnoznik(); } studia lublin, ale przedmiot inzynierie oprogramowania akurat zrobilem w danii bedac na wymianie wiec pretensje do duńca mającego firmę obslugujaca dunskie systemy lotnisk ktory nam to wykladal. z pewnoscia byl chory umyslowo i niedouczony. przyklad z zycia wziety: mam klase PhotoUploader ktora calosciowo odpowiada za upload obrazka, obciecie uzytkownikowi limitów etc. moze rowniez ona zmniejszyc zbyt duzy obrazek. Wprowadzam sobie zalozenie ze wszystkie avatary maja miec po 200 px. wiec uploadujac kazdy avatar ktorych mam kilka dla roznych obiektow na stronie mam pisac new PhotoUploader(200,200) lub PhotoUploader(Avatar_Width, avatar_height) ? Ja to wole zrobic prosciej: class AvatarUploader{ public function __construct() { parent::__construct(avatar_width, avatar_height) } } Im mniej parametrow tym lepiej. Biore klase avatarUploader za kazdym razem gdy potrzebuje wrzucic obrazek i nie musze pamietac co wpisac w parametry by dzialalo ok. Ten post edytował Orzeszekk 1.12.2011, 00:01:20 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 11:55 |