Heim > Backend-Entwicklung > PHP-Tutorial > Objektorientierte PHP-Vererbung

Objektorientierte PHP-Vererbung

不言
Freigeben: 2023-03-29 22:26:02
Original
1564 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die objektorientierte Vererbung in PHP vor, die einen gewissen Referenzwert hat. Jetzt kann ich ihn mit allen teilen, die ihn brauchen.

Vererbung

Definition

Die Unterklasse erbt alle öffentlichen und geschützten Eigenschaften und Methoden der übergeordneten Klasse.

Verwenden Sie das Schlüsselwort extends Vererbung. Eine Klasse integriert eine andere und kann nicht mehr als eine erben.

Verwandte Fachbegriffe

子类、父类、基类、超类、派生类
Nach dem Login kopieren

Unterklasse, abgeleitete Klasse——> Von der Basisklasse geerbte Klasse

Elternklasse, Basisklasse, Superklasse bezieht sich auf——> ; Geerbte Klasse.

Beispiel

<?php

class Father
{
    public $a = &#39;public&#39;;
    protected $b = &#39;protected&#39;;
    private $c = &#39;private&#39;;

    public function func1()
    {
        echo &#39;This is public function&#39;,&#39;<br/>&#39;;
    }

    protected function func2()
    {
        echo &#39;This is protected function&#39;,&#39;<br/>&#39;;
    }

    private function func3()
    {
        echo &#39;This is private function&#39;,&#39;<br/>&#39;;
    }
}

// 继承父类
class Child extends Father
{
    // 子类中调用继承来的方法
    public function test()
    {
        $this -> func1();
        $this -> func2();
        //$this -> func3();  私有方法不可以调用
    }
}

// 实例化子类
$son = new Child();


// 尝试调用属性
echo $son -> a,&#39;<br/>&#39;;
//echo $son->b;   不能直接输出b
//echo $son -> c; 继承都没继承,当然不能输出


// 尝试调用方法
//$son -> func1();
//$son -> func2();   不能在类外调用func2
//$son -> func3();   继承都没继承,当然不能调用

// 间接调用继承自父类的普通方法
$son -> test();
Nach dem Login kopieren

Umschreiben

Definition:

1) Erben Sie die Methode der übergeordneten Klasse und die Definition in der Die Unterklasse ist mit der übergeordneten Klasse identisch. Klasse hat eine Methode mit demselben Namen und hat die gleiche Anzahl von Parametern

2) Wenn eine Unterklasse a überschreibt Methode in der übergeordneten Klasse, PHP ruft die Methode in der übergeordneten Klasse nicht auf Überschriebene Methoden

3) Ob die Methode der übergeordneten Klasse aufgerufen werden soll, hängt von der Unterklasse ab.

4) Bei der Implementierung der Methodenabdeckung kann der Zugriffsmodifikator

unterschiedlich sein , , aber der Zugriffsbereich der Unterklasse muss größer oder gleich dem übergeordneten sein Klassenzugriffsbereich .

Verwendung:

parent::    访问父类中被重写的属性和方法
Nach dem Login kopieren

Beispiel

<?php

class Father
{
    public function shuo($num)
    {
        echo &#39;a a o o&#39;;
    }
}


class Son extends Father
{
    public function shuo($num)
    {
        // 调用父类中被重写的方法
        // parent::shuo($num);

        echo &#39;Hello World&#39;;
    }

    public function test($num)
    {
        parent::shuo($num);
    }
}

// 实例化子类
$son1 = new Son();
$son1 -> shuo(1);   // Hello World
$son1 -> test(1);   // a a o o
Nach dem Login kopieren

finales Schlüsselwort

Wenn die Methode in der übergeordneten Klasse als final deklariert ist, dann Unterklassen Diese Methode kann nicht überschrieben werden.

Wenn eine Klasse als endgültig deklariert wird, kann sie nicht vererbt werden.

Beispiel

<?php

class Father
{
    final public function test()
    {
        echo &#39;hello&#39;;
    }
}

class Son extends Father
{
    public function test()
    {
        echo &#39;你好&#39;;
    }
}

// 实例化子类
$son1 = new Son();

$son1 -> test();  // 报错,函数不能被重写
Nach dem Login kopieren
Verwandte Empfehlungen:

php objektorientierte Überladung

php objektorientiert Paket

                                 

Das obige ist der detaillierte Inhalt vonObjektorientierte PHP-Vererbung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage