Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> OOP & Interfejsy
KirkoR
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 14.02.2004
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Witam. Czy ktoś może mi przedstawić szerzej idee interfejsów, do czego służą, kiedy i po co ich uzywać? Bo nigdzie nie mogę znaleźć konkretnych informacji.
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
outputBufforPlugin jest Pluginem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) wiec dziedziczenie powinno zajsc

Zgadza sie, masz bazowa klase plugin z abstrakcyjnymi metodami execute() (czy jakos tam) i je przeladowujesz.

Z JAVY (Java 2 Podstawy) cytat ze skrotami (nie chce mi sie tyle przepisywac) [moje dopiski]:
"W javie interfejs nie jest klasa ale zbiorem wymagan dotyczacych klas, ktore chca dostosowac sie do interfejsu

Zazwyczaj dostawca pewnych uslug stwierdza: Jesli twoja klasa jest dopasowana do danego interfejsu, to wykonam usluge. (...) Metoda sort klasy Arrays obiecuje posortowac obiekty tablicy, ale pod jednym warunkiem: obiekty musza nalezec do klas implementujacych interfejs Comparable [nie musza byc tej samej klasy!!!] [musza zaimplementowac jedyna metode: int compateTo( Object innyObiekt );]"

Metoda Arrays.sort() pobiera obiekt "typu" Comparable[] (interfejsy zastapily (w pewnym stopniu) wielokrotne dziedziczenie) -- czyli tablice obiektow implementujacyhc interfejs Comparable i jes sortuje.

Interfejs (np. Telewizora -- przysicki: ON/OFF, Vol+, Vol-, P+, P- ) okresla metody jakie musi zaimplementowac obiekt aby inny obiekt/user (user TV) znajacy obsluge tego interfejsu mogl sie nim poslugiwac (umiesz obsluzyc jeden telewizor, obsluzysz tez setke innych bez czytania manuala). Oczywiscie obiekt moze implementowac inne interfejsy (TV+Mikrofalowka, co co? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ), co nie przeszkadza userowi znajacy tylko jeden z nich uzuwac tego obiektu.

Inny przydlad: interfejs Zepsuwalne (ale glopie slowo) (jedyna medoda: void zepsuj()), jestes typem czlowieka ktory lubi wszystko psuc (taka abstrakcja, jakby co:)). Obiekty implementujace ten interfejs: TV, Video, Komp, MAC, PC, Sun, Impreze, Atmosfera. Dzieki temu ze implementuja ten interfejs mozesz uzyc na nich metody zepsuj(), nawet jak nie posiadaja wspolnej klasy bazowej.

ufff... DA-END
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.10.2025 - 16:19