Zum Inhalt springen

PHP Basics: Vererbung (extends)

Eine Klasse kann die Methoden und eigenschaften einer (und nur einer) anderen Klasse erben.

class MySimpleClass
{
	//Eigenschaften
	public $var = 'Mein Wert';
	
	//Methode
	public function myMethod() {
		echo $this->var;
	}
}

class MySpecialClass extends MySimpleClass
{
    //Methode myMethod() überschreiben
    public function myMethod() {
        parent::myMethod(); //Zugriff auf überschrieben Funktion mit parent::
        echo 'ist Pizza Speciale.';
    }
}

$special = new MySpecialClass();
$special->myMethod();
  • Wenn eine Klasse oder Methode (nicht Eigenschaft!) mit final (Bsp.: final class MySimpleClass)  gekennzeichnet ist, wird extends nicht funktionieren.
  • Überschriebene Eigenschaften und Methoden können keine geringere Sichtbarkeit haben (Bsp.: die vererbte Funktion methodA() hat die Sichtbarkeit public, dann kann diese nicht mit einer private methodA() überschrieben werden.)

 

Kommentare sind geschlossen, aber Trackbacks und Pingbacks sind möglich.