![]() |
![]() |
![]()
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: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czy Daniel nie jest czlowiekiem? Czy Kamil - obiekt kamil, ten ktory siedzi wlasnie przed laptopem i pisze odpowiedz nie jest czlowiekiem? Jestem imieniem? Nie wcielaj tutaj potocznych form języka. Gdy mówisz że Kamil siedzi przed komputerem albo że Audi to fajny samochód masz na myśli osobę o imieniu Kamil albo samochód marki Audi.Cytat Dodawanie kolejnej klasy przechowującej skile to niepotrzebne utrudnianie sobie zycia. No właśnie błędny model - jaki Ty i autor próbujecie wprowadzić - mocno komplikuje życie. Spróbuj zmienić umiejętności Daniela (całkiem prawdopodobne zjawisko, ludzie się uczą) albo utworzyć nową osobę z nowym zestawem umiejętności. Modyfikacja istniejących i pisanie nowych klas - jak dla mnie spore utrudnienie.Na dobrą sprawę wątek powinien trafić do przedszkola, bo mówimy tutaj o absolutnych podstawach OOP, tj. o wydzielaniu i modelowaniu prostych struktur danych i ich wzajemnych relacjach. Ten post edytował Crozin 30.11.2011, 22:57:12 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie wcielaj tutaj potocznych form języka. Gdy mówisz że Kamil siedzi przed komputerem albo że Audi to fajny samochód masz na myśli osobę o imieniu Kamil albo samochód marki Audi. No właśnie błędny model - jaki Ty i autor próbujecie wprowadzić - mocno komplikuje życie. Spróbuj zmienić umiejętności Daniela (całkiem prawdopodobne zjawisko, ludzie się uczą) albo utworzyć nową osobę z nowym zestawem umiejętności. Modyfikacja istniejących i pisanie nowych klas - jak dla mnie spore utrudnienie. Na dobrą sprawę wątek powinien trafić do przedszkola, bo mówimy tutaj o absolutnych podstawach OOP, tj. o wydzielaniu i modelowaniu prostych struktur danych i ich wzajemnych relacjach. bla bla bla to nie pisz klas wcale skoro to dla ciebie takie utrudnienie. to jak pisze np FileBuffer czy cos i to ma rozne funkcje to tez zamiast utworzyc normalne metody mam utworzyc kolekcje obiektow przechowujacych po jednej czynnosci? ty NIE WIESZ jaki model obrał sobie ten czlowiek wiec nie mów że jest błędny. Nie wiesz czy ten typ w ogole chce implementowac dowolnych ludzi w swoim programie. Daniel NIE STWIERDZIŁ że chce zaimplementować system ludzi ala sims. Jak tak stwierdzi to twoje stwierdzenie nabierze sensu. Wtedy bedzie jak najbardziej prawidłowe. Wtedy to bedzie bardzo ciekawy wzorzec umozliwiajacy przypisywanie roznych skilow roznym osobom, wymiennie. Jak zajdzie potrzeba zmian to kolega sobie to zrefaktoryzuje i juz. Idąc twoim tokiem myslenia trzeba by bylo dodac wszystko co sie moze przydac kiedys za 20 lat do tej klasy. A moze przegladarka www sie przyda temu czlowiekowi? ziuuu - i dodajemy. a moze botnet bedzie nam za 10 lat potrzebny - uuu trzeba zaimplementowac zanim sie uzyje klasy. Poza tym czy nie moge powiedziec ze samochody Audi mają fajny wygląd i dobrze sie nimi jezdzi? odnoszę się w tym momencie do klasy carFromAudiFactory rozszerzającej Car. Nie mówie że TEN samochód ma fajny wygląd i sie dobrze nim jezdzi tylko że TE (Ten rodzaj jakim są samochody wyprodukowane przez markę audi) samochody mają fajny wyglad i sie nimi jezdzi. i zebys mi nie wciskal ze to bledne uzycie potocznego jezyka - przyklad z Car i klasą dziedziczącą VolvoCar byl w ksiazce fowlera refaktoryzacja... Ten post edytował Orzeszekk 30.11.2011, 23:15:07 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 07:37 |