![]() |
![]() |
![]()
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: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@cepa: Bardzo ładny przykład jednego z najgorszych możliwych kodów jaki może powstać.
Interfejsy nie są substytutem dla wielokrotnego dziedziczenia. Ogólnie nie powinieneś w ogóle chcieć korzystać z takiego rodzaju dziedziczenia. A gdy wydaje Ci się, że takie dziedziczenie ułatwiłoby Ci pracę oznacza to, iż najprawdopodobniej masz błąd w projekcie. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 7 Dołączył: 27.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
@cepa: Bardzo ładny przykład jednego z najgorszych możliwych kodów jaki może powstać. @Crozin: Dales bardzo ladny przyklad swojej nieznajomosci wzorcow projektowych (IMG:style_emoticons/default/smile.gif) to co pokazalem wyzej to nic innego jak Dekorator, a stosowane w dokladnie tej formie co wyzej jest np: w Doctrine - behaviours, i jest naprawde bardzo przydatne (IMG:style_emoticons/default/smile.gif) problem z wielodziedziczeniem wynikal stad ze bylo naduzywane w C++, wymagalo rzutowania, i rodzilo wiele problemow np: http://en.wikipedia.org/wiki/Diamond_problem |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
@Crozin: Dales bardzo ladny przyklad swojej nieznajomosci wzorcow projektowych (IMG:style_emoticons/default/smile.gif) Chciałbym w tym miejscu sprostować, to że pokazałeś wzorzec i coś takiego jest wzorcem, nie znaczy od razu że jest poprawny pod względem logiki i przejrzystości kodu, tak samo jak odradza się używania singletonów. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 20:22 |