PS_CS4 Skrevet 26. desember 2008 Del Skrevet 26. desember 2008 Driver nå å utforsker OOP. Men hva er det disse "public function", "protecded function" og de der, hva er forskjell ? Lenke til kommentar
Alex Moran Skrevet 26. desember 2008 Del Skrevet 26. desember 2008 Metoder deklarert som public kan kalles utenfor klassen, protected kan kalles innenfor klassen den er deklarert i samt i barn av klasse, mens private bare kan kalles i klassen den er deklarert. <?php class MyBasicClass { public function doSomethingSilly() { $this->_doSomethingExtraordinary(); // Works $this->_doSomethingSmart(); // Works } protected function _doSomethingSmart() {} private function _doSomethingExtraordinary() {} } class MyBasicChildClass extends MyBasicClass { public function growUp() { $this->_doSomethingSmart(); // Works $this->_doSomethingExtraordinary(); // Does not work } } $class = new MyBasicClass(); $class->doSomethingSilly(); // Works $class->_doSomethingSmart(); // Does not work $class->_doSomethingExtraordinary(); // Does not work $child = new MyBasicChildClass(); $child->growUp(); Lenke til kommentar
Jonas Skrevet 26. desember 2008 Del Skrevet 26. desember 2008 Final, abstract, interface, static, protected, public og private er alle nøkkelord i OOP. (Husket jeg alle de vanligste?) Noe som er satt til final kan ikke overskrives av f.eks. en klasse som extender fra den klassen. En funksjon eller klassen som er definert som final vil alltid være slik den er. Noe som er abstract, på den andre siden, kan ikke initialiseres og MÅ overskrives. Man pleier å si at noe som er abstract deklarerer en signatur, men ikke implementasjon. Et interface kan kanskje sees som en fully abstract klasse, der ingen implementasjon er definert. Noe som er statisk er tilgjengelig uten å at man trenger en instans av klassen. Vil ikke kjøre: <?php abstract class Foo {} $bar = new Foo (); ?> Vil derimot kjøre: <?php interface Animal { public function Bark (); } class Dog implements Animal { public function Bark () { echo 'Woff Woff'; } } $dog = new Dog (); $dog -> Bark (); ?> Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå