Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Interfejsy, czy to jest naprawdę do czegoś potrzebne?
sztosz
post
Post #1





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Mam jedno pytanie: Do czego tak na prawdę mogą się przydać interfejsy w programowaniu? Bo za cholerę nie wiem. Szukam unikalnego zastosowania, którego nie dało by się z powodzeniem zastąpić czymś innym i nie znajduję. Do czego to więc?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Cytat
Z tego tematu wynika że w PHP interfejs jest tylko pomocnikiem by programista widział co musi zaimplentować, natomiast i tak musi dla każdej klasy implementującej dany interfejs napisać ciało metody. Dziedzicząc zaś po kilku klasach (co w PHP jest nie możliwe) nie musimy tego robić, ale nic nie stoi na przeszkodzie przesłaniania metod klas po których dziedziczymy (owszem tu są tez niedogodności, ale tylko jeśli nieuważnie kodujemy).


Tak (IMG:style_emoticons/default/smile.gif) To prawda.
Interfejsy sa obejsciem wielokrotnego dziedziczenia (rozwiazaniem zaproponowanym zamiast W. D.), i ich wada jest to ze nie moga zawierac cial metod - bo tak ich tworcy sobie zalozyli (IMG:style_emoticons/default/smile.gif)
Pewnie z perspektywy czasu nie jest to najlepsze rozwiazanie, i wielodziedziczenie sie przydaje (dla php, hmm, chyba mielem kilka chwil gdzie bym z niego skorzystal, ale nie jestem w stanie wymienic - o musialem zduplikowac kilka metod w dwoch roznych hierarchiach klas, a takto podziedziczylbym z 3ciej klasy i po problemie).

PHP poniekad wzorowalo sie na javie w OOP. Jednak w Javie oprocz interfejsow masz tez klasy wewnetrzne, ktore to pozwalaja w pewien sposob wykonac wielodziedziczenie, konkretniej - dodac do klasy zbioru metod z cialami, jednoczesnie kozystajac z pojedynczego dziedziczenia - http://www.javaworld.com/javaworld/jw-10-2...4-multiple.html .
Go to the top of the page
+Quote Post

Posty w temacie
- sztosz   Interfejsy   1.09.2009, 22:06:52
- - Speedy   Jeśli chodzi o interfejsy w php, to mogą się one p...   1.09.2009, 22:34:36
- - wookieb   Przydają się np do tego jak tworzysz klasy element...   1.09.2009, 22:41:15
- - Speedy   CytatRóżnica pomiędzy interfejsem a klasą abstrakc...   1.09.2009, 23:05:19
- - sztosz   Ale to w takim razie sprowadza się do tego że do i...   1.09.2009, 23:31:05
- - dr_bonzo   CytatBo co za różnica czy dziedziczę po x klas i i...   1.09.2009, 23:42:55
|- - sztosz   Cytat(dr_bonzo @ 2.09.2009, 00:42:55 ...   2.09.2009, 00:07:35
- - dr_bonzo   1. A od kiedy mozesz? Na pewno *mozesz* w C++, w ...   2.09.2009, 00:25:23
|- - sztosz   Cytat(dr_bonzo @ 2.09.2009, 01:25:23 ...   2.09.2009, 09:58:10
- - LBO   Przede wszystkim interfejsy umożliwiają poprawną ...   2.09.2009, 03:29:09
- - Cysiaczek   @sztosz - w OOP jest kilka tematów na temat interf...   2.09.2009, 07:07:45
- - Crozin   CytatCzytam i czytam i wychodzi na to że Interfejs...   2.09.2009, 13:54:34
|- - sztosz   Mnie fascynuje Python, PHP denerwuje. Do zagwarant...   2.09.2009, 14:41:42
- - Crozin   CytatMnie fascynuje Python, PHP denerwuje.Mnie też...   2.09.2009, 15:01:34
- - sztosz   No i to jest właśnie ten problem którego chciałem ...   2.09.2009, 16:00:51
- - Crozin   Ahh... zapomniałem, że temat miał być ogólny - mój...   2.09.2009, 16:26:40
- - sztosz   O widzisz, i zaczynam poniekąd znajdować zastosowa...   2.09.2009, 16:51:06
- - dr_bonzo   CytatZ tego tematu wynika że w PHP interfejs jest ...   2.09.2009, 20:11:58
- - vokiel   Osobiście dla mnie interfejsy są zasadne w kilku p...   3.09.2009, 07:59:04
- - sztosz   @vokiel: Ale do tego żeby to zrobić, nie potrzebuj...   3.09.2009, 12:04:08
- - vokiel   CytatAle nie widzę nigdzie przykładu gdzie interfe...   3.09.2009, 13:04:33
- - erix   Teraz moje trzy grosze. ;p [PHP] pobierz, plainte...   3.09.2009, 14:34:51
- - dr_bonzo   @sztosz CytatJak na razie wiem, że w językach któ...   3.09.2009, 20:45:09
- - Cysiaczek   Dziedziczenie to w większości przypadków zło wciel...   4.09.2009, 09:22:14
|- - sztosz   Cytat(Cysiaczek @ 4.09.2009, 10:22:14...   4.09.2009, 10:56:46
- - Spawnm   Bo w większości przypadków jest zbędne , a początk...   4.09.2009, 11:02:31
|- - phpion   Cytat(Spawnm @ 4.09.2009, 12:02:31 ) ...   4.09.2009, 11:31:53
- - phpion   Pierwsze słyszę opinię, że dziedziczenie to zło. M...   4.09.2009, 11:05:17
- - LBO   Cytat(phpion @ 4.09.2009, 12:05:17 ) ...   4.09.2009, 11:09:15
- - nospor   CytatBo w większości przypadków jest zbędnelatanie...   4.09.2009, 11:13:20
- - phpion   Równie dobrze można powiedzieć, że klasy to ponie...   4.09.2009, 11:20:17
- - sztosz   Używanie intefejsów jest zbędne, a prawie wszyscy ...   4.09.2009, 11:22:13
- - Spawnm   Czy napisałem że zło wcielone? Napisałem że przyda...   4.09.2009, 11:22:25
- - nospor   CytatCzy napisałem że zło wcielone?No to spojrzmy:...   4.09.2009, 11:28:39
- - Spawnm   OK. W takim razie rozwinę : dziedziczenie to zło w...   4.09.2009, 11:44:17
- - nospor   No to czego na tak ogolne pytanie odpowiadasz tylk...   4.09.2009, 11:57:23
|- - plurr   Cytat(nospor @ 4.09.2009, 12:57:23 ) ...   4.09.2009, 13:10:41
- - Crozin   CytatNo i to jest właśnie ten problem którego chci...   4.09.2009, 13:26:35
- - Cysiaczek   Jeśli nieprecyzyjnie się wyraziłem, to sprostuję. ...   5.09.2009, 11:29:54
- - batman   Interface jest idealnym przykładem różnicy między ...   5.09.2009, 14:13:02
- - sztosz   Chyba się mylisz ~batman. Parser/kompilator nic ni...   5.09.2009, 17:26:32
- - batman   ~sztosz pytałeś czysto teoretycznie, abstrahując o...   5.09.2009, 17:34:41
- - sztosz   A czemu niby typ ma być dziedziczony po interfejsi...   5.09.2009, 17:49:26
- - batman   CytatA czemu niby typ ma być dziedziczony po inter...   5.09.2009, 17:55:48
- - LBO   batman, jak mniemam chodzi Tobie o to samo na czym...   5.09.2009, 17:55:59
- - Crozin   Cytatskoro taki interfejs, jak już do tego doszliś...   5.09.2009, 17:59:03
- - batman   Cytat(LBO @ 5.09.2009, 18:55:59 ) bat...   5.09.2009, 17:59:34
- - LBO   Cytat(batman @ 5.09.2009, 18:59:34 ) ...   5.09.2009, 18:04:19
- - batman   LBO CytatJa tylko niosę pomoc Jeśli chciałbym pi...   5.09.2009, 18:10:55
|- - sztosz   Cytat(batman @ 5.09.2009, 19:10:55 ) ...   5.09.2009, 21:40:59
- - LBO   Cytat(batman @ 5.09.2009, 19:10:55 ) ...   5.09.2009, 18:31:22
- - batman   Niestety nie poznałem LINQ na tyle, by móc prowadz...   5.09.2009, 18:37:52
- - LBO   Cytat(batman @ 5.09.2009, 19:37:52 ) ...   5.09.2009, 18:49:17
- - Crozin   [JAVA] pobierz, plaintext interface Moveable...   5.09.2009, 22:55:21
- - sztosz   Czy na pewno to ze coś implentuje jakiś interfejs ...   5.09.2009, 23:17:42
- - Crozin   Tak, ponieważ Pies dziedzicząc po Ssak otrzymuje j...   5.09.2009, 23:32:23
- - sztosz   OK, zwracam więc honor, miałem zupełnie inne wyobr...   5.09.2009, 23:41:03
- - dr_bonzo   (odpowiedz na ost. 2 strony postow) @sztosz Cyta...   6.09.2009, 14:04:56
- - bim2   Najlepszy przykład podał właśnie Crozin. W Thinkin...   6.09.2009, 17:29:45
- - sztosz   Mi się wydawało zawsze że można iterować po czymko...   6.09.2009, 21:40:07
- - plurr   Nasunęła mi się jeszcze jedna myśl, a propos inter...   7.09.2009, 07:50:45


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

 



RSS Aktualny czas: 11.10.2025 - 07:46