![]() |
![]() |
![]()
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: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jak tam sobie chcecie. Dla mnie nielogiczne jest zeby zamiast utworzyc relacje rodzic dziecko opakowywac pojedyncze metody w obiekty.
Daniel moze byc rodzajem czlowieka, to juz zalezy jaki punkt widzenia sobie przyjmie autor modelu. To co, jakbym nazwał klasę Daniel klasą HomoSapiens to juz byloby poprawnie? to jest jakies duze nieporozumienie. Moze (nie ujmując Danielom, podążając za horoskopami) kazdy daniel to swir i ma zawyzony wspolczynnik inteligencji? wtedy co? tworząc kolejnych danielów musze pamietac o ile im podniesc wspolczynnik inteligencji? czy nie naturalniejszym sposobem jest utworzenie klasy daniel ktora w konstruktorze przemnozy IQ bazowe przez to zawyzenie? Co jezeli fabryka volvo wytwarza swoje samochody najnowsza technologia, a fabryka chinaszajs rzezbi swoje auta w drewnie? kompletnie inny proces produkcyjny - ten sam interfejs -> metoda szablonowa tak czy siak nową klase wypadaloby zrobic, niby mozna wydzielic z tego klasę ProductionProcess i dawac ją jako parametr klasy FabrykaSamochodow ale to nadal wymaga utworzenia nowej klasy przy dodaniu kolejnej fabryki. Co jezeli Darek znacząco rozni sie dzialaniem od Izy? jezeli ktos chce traktowac metody jak atrybuty to niech przerzuci sie z php na python jak dla mnie sensowne jest utworzenie klasy volvocar, a nastepnie nawet klas volvoX40, volvoS60 - w koncu to są wzorce (modele) tych samochodów -> obiektami będą już konkretne samochody jezdzace po ulicy przy czym bedzie kilka milionów obiektów klasy volvoS60 - beda to konkretne auta jezdzace po ulicy. ale to volvoS60 jest typem samochodu. 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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 10:36 |