Pogledajte određenu poruku
Staro 04. 03. 2013.   #18
Djuki
profesionalac
Professional
 
Avatar Djuki
 
Datum učlanjenja: 09.06.2005
Lokacija: Pancevo
Poruke: 251
Hvala: 60
47 "Hvala" u 34 poruka
Djuki is on a distinguished road
Pošaljite ICQ poruku za Djuki Pošaljite poruku preko Skype™ za Djuki
Default

Citat:
Originalno napisao jablan Pogledajte poruku
Samim tim ne postoji obaveza programera da pravi klase u kojima kaže "e sad ovde će biti jedna metoda, ali neću sad da je implementiram, već će to morati da urade potklase", da bi zadovoljio kompajler, kao što postoji u statičkim jezicima tipa Jave.
Postoji

PHP kôd:
class Vizija
{
    abstract function 
definisiViziju();
}

class 
Birokratija extends Vizija
{


Klasa Birokratija je u obavezi da implementira metodu definisiViziju inače će interpreter prijaviti grešku:

PHP kôd:
Fatal error: Class Vizija contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Vizija::definisiViziju
Što se tiče primera sa Patkom i Čovekom očigledno je da oni treba da implementiraju u najmanju ruku jedan isti interfejs (samo u tvom primeru, jer ako bismo sada išli do kraja rekli bismo da je potrebno primeniti adapter patern, jer je odličan za ovu imitaciju patke).

Webarto je krenuo u pravom smeru.
PHP kôd:
interface LeteciObjekat
{
    public function 
quack();

    public function 
fly();
}
function 
QuackAndFly(LeteciObjekat $obj){$obj->quack(); $obj->fly();} 
__________________
Blog | Facebook | Twitter | PHP Srbija
Djuki je offline   Odgovorite uz citat