Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Interferfejs, wielodziedziczenie
naitsabes
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LSM
post
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
Go to the top of the page
+Quote Post

Posty w temacie
- naitsabes   Interferfejs, wielodziedziczenie   22.05.2011, 20:16:23
- - destroyerr   Czy tutaj masz zbyt mało przykładów?   22.05.2011, 22:37:46
- - Hoku   [PHP] pobierz, plaintext interface A { functi...   22.05.2011, 22:44:48
- - el.pablo.72   Sensowne i proste rozwiązanie oferuje Framework Co...   25.05.2011, 14:59:45
- - destroyerr   @el.pablo.72 nie wprowadzaj zamieszania. Framework...   25.05.2011, 20:04:41
- - sarxos   Ale framework to chociaż porządkuje. W PHP brak je...   15.06.2011, 14:14:05
|- - Fifi209   Cytat(sarxos @ 15.06.2011, 15:14:05 )...   15.06.2011, 17:37:19
- - drPayton   A co ma piernik do wiatraka? Autor nie chce gotowc...   15.06.2011, 14:19:05
- - Speedy   Implementowanie interfejsu i wielodziedziczenie, t...   15.06.2011, 16:24:17
- - darko   ~Speedy nie do końca to takie dwie różne sprawy. I...   15.06.2011, 16:38:04
|- - Speedy   Cytat(darko @ 15.06.2011, 17:38:04 ) ...   15.06.2011, 23:34:14
- - cepa   wielodziedziczenie mozna zrobic wykorzystujac popr...   16.06.2011, 14:27:49
- - Crozin   @cepa: Bardzo ładny przykład jednego z najgorszych...   16.06.2011, 15:07:49
|- - cepa   Cytat(Crozin @ 16.06.2011, 16:07:49 )...   16.06.2011, 15:44:01
|- - Fifi209   Cytat(cepa @ 16.06.2011, 16:44:01 ) @...   16.06.2011, 15:50:14
|- - cepa   Cytat(Fifi209 @ 16.06.2011, 16:50:14 ...   16.06.2011, 15:57:31
- - Crozin   Cytat@Crozin: Dales bardzo ladny przyklad swojej n...   16.06.2011, 18:08:57
|- - cepa   Cytat(Crozin @ 16.06.2011, 19:08:57 )...   16.06.2011, 18:52:23
- - LSM   @Crozin : Czy nie uważasz że nadużycia wielodziedz...   17.06.2011, 01:13:29


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 01:37