![]() |
![]() |
![]()
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: 435 Pomógł: 40 Dołączył: 16.02.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dalej to co mówisz jest nielogiczne. Z tego by wynikało, że każdy Daniel ma to samo IQ...
Czemu upierasz sie przy czymś takim, zamiast po prostu: Czlowiek czlowiek = new Czlowiek(); czlowiek.setImie("Daniel"); czlowiek.setIq(120); ? Jak dla mnie to jest po prostu naturalne. Przykład z samochodami zachodzi niestety za daleko. Nie wiadomo jak chcesz je modelować. Czy volvo s60 jeździ inaczej od x40? I czy dlatego powinny być osobnymi klasami? Odpowiedź na peirwsze pytanie jest oczywista: jeździ INACZEJ. Ale zastanów się dlaczego? Ano dlatego, że ma inny silnik i zawieszenie (proszę, nie wnikajmy w większe szczegóły - nie w tym rzecz). Dlatego na etapie produkcji auta - czyli w czasie tworzenia obiektu "wkładasz" do niego konkretny silnik (setSilnik) i zawieszenie (setZawieszenie). Ale metoda do wyliczania "osiągów" fury będzie taka sama dla x40 i s60. Wynik oczywiście będzie inny, bo metoda ta korzysta z danych silnika i zawieszenia - uwzględnia je przy obliczeniach. I z tego wynika, że nie, s60 i x40 nie muszą być osobnymi klasami. Ps. co to za studia? We Wrocławiu uczą inaczej (IMG:style_emoticons/default/wink.gif) Ten post edytował ano 30.11.2011, 23:52:50 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 23:00 |