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
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Tak, ponieważ Pies dziedzicząc po Ssak otrzymuje jego pełen publiczny interface. Tak więc na obiekcie typu Pies można wykonać dokładnie takie same operacje co na obiekcie Ssak. Różnica jest taka, że pies jako bardziej wyspecjalizowany obiekt może jakąś konkretną metodę realizować inaczej, ale sygnatura tej metody pozostaje niezmienna - tj. interface się nie zmienia. Pies może też realizować metody specyficzne tylko dla Pies, ale mamy 100% że możemy na nim operować jak na Ssak.
Z interface-ami jest dokładnie tak samo.

  1. $pies instanceof Ssak; //true

  1. void nakarmMnie(Ssak zwierz); //Przekazanie obiektu typu Pies nie spowoduje błędu
  2.  
  3. //Podobnie jak błędu nie spowoduje:
  4. Pies pies = new Pies(); //class Pies extends Ssak
  5. Ssak zwierze = (Ssak) pies;
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: 10.10.2025 - 15:45