![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 5 Dołączył: 10.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Czesc, jakis czas temu przeczytałem, że jedyna opcja dla wielodziedziczenia jest Implementowanie interfejsu...
Poczytałem, ok stworzyłem niby interfejs, ale nie mam pojecia jak to wszystko działa. Wydaje mi sie ze to działa w ten sposob interfejs { funkcja() } clasa dajaca do interfejsu { funkcja() {} } i pozniej mozna pobrac z interfejsu ta funkcje. Wydawało mi sie, że dobrze zrozumiałem to ale niestety nie moge stworzyc zadnego kodu, byc moze zle pojąłem sposob działania interfejsu. Bylbym wdzieczny gdyby ktos zrobil jakis prosty przyklad, samo echo i zmienne, jak zrobic oraz wykorzystac interfejs. Duzy czytalem, napisanie tutaj to ostatecznosc. Dziekuje za cierpliwosc i przepraszam za prostote pytania Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 6 Dołączył: 20.03.2011 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
@Crozin : Czy nie uważasz że nadużycia wielodziedziczenia są po prostu winą niedoświadczonego programisty niż winą samego języka ? Pozwól, że zacytuję swojego mentora: (Chryste ratuj jeśli wywołam kolejną wojnę hehehe (IMG:style_emoticons/default/smile.gif) )
Odn. wielodziedziczenia niech tylko zacytuję pewnego człowieka który o dziedziczeniu napisał w pewnym tomie klikadziesiąt stron: "Często pojawia się sytuacja wymagająca połączenia ze sobą kilku abstrakcji: na przykład klasa może modelować 'pracownika' któego można traktować zarówno jako "osobę" , jak i jako "koszt" prowadzenia działalności jaki można odliczyć od podatku. Właśnie tu z pomocą przychodzi dziedziczenie wielokrotne [...]" "Taka możliwość nazywana dziedziczeniem wielokrotnym, jest niezbędna do tworzenia odpornych obiektowych architektur poprzez łączenie ze sobą różnych abstrakcji [...]" "Na początek musisz zrozumieć kiedy dziedziczenie wielokrotne jest przydatne. Przyjrzyjmy się zatem [...] . Taki przegląd jest bardzo potrzebny i to bynajmniej nie dlatego, żebyś docenił elegancję i prostotę dziedziczenia wielokrotnego czy też konieczność jego stosowania. Te kwestie są oczywiste dla każdego, kto miał czas i ochotę, przyjrzeć się bliżej zagadnieniu [...]" "Ważniejsze jest to żeby obalić powszechny pogląd (rozpowszechniany głównie przez osoby posługujące się językami, które nie obsługują takiej postaci dziedziczenia), że dziedziczenie wielokrotne jest trudne, tajemnicze, podatne na błędy i przypomina obiektową wersję polecenia 'goto'.[...]" "Zobaczysz, że wcale nie będziemy mieli problemów ze znalezieniem wartościowych przykładów . Problemem będzie raczej zatrzymanie powodzi dobrych pomysłów, która pojawi się, gdy tylko naruszymy tamę". Źródło: Bertrand Meyer "programowanie zorientowane obiektowo" Autor podaje na początek złe przykłady: Nauczyciel extends Asystent Student extends Asystent OsobaZwiazanaZuniwersytetem extends Nauczyciel, Student Potem podaje dobry (e): Okna są jednocześnie drzewami, elementami list i prostokątami. Samolot może być również środkiem trwałym. Złożone figury. (Rozważań na temat NUMERIC i COMPARABLE nie opisuje nie chce mi się cytować kurka całej książki ) :-) Moim zdaniem wielodziedziczenie jest przydatne dla większych i skomplikowanych systemów (nie tam CMS, CRM, sklep internetowy, kolejny framework (IMG:style_emoticons/default/oneeyedsmiley02.png) ) . Należy umieć wykorzystać co jezyk daje nam do dyspozycji - osobiście parę razy zdarzyło mi się ubolewać nad faktem że PHP nie ma wielodziedziczenia :-) , z prostej przyczyny: wielodziedziczenie sprawiłoby, że projekt byłby bardziej przejrzysty i logiczny, zamiast ratować się innego rodzaju rozwiązaniem. Ten post edytował LSM 17.06.2011, 01:23:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 01:37 |