Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind die Regeln zum Überschreiben von Methoden in PHP?

Was sind die Regeln zum Überschreiben von Methoden in PHP?

王林
王林Original
2020-11-10 15:01:012831Durchsuche

Die Regeln zum Überschreiben von Methoden in PHP sind: 1. Endgültig geänderte Klassenmethoden können nicht von Unterklassen überschrieben werden. 2. Wenn Sie übergeordnete Klassenmethoden überschreiben möchten, muss die Anzahl der Parameter konsistent sein. 3. Beim Umschreiben muss die Zugriffsebene übereinstimmen Sie kann nur gleich oder größer als die übergeordnete Klasse sein und die Zugriffsebene kann nicht erhöht werden.

Was sind die Regeln zum Überschreiben von Methoden in PHP?

Regeln zum Umschreiben von Methoden:

(Teilen von Lernvideos: Java-Video-Tutorial)

1. Durch final geänderte Klassenmethoden können nicht durch Unterklassen überschrieben werden.

Durch final geänderte Klassenmethoden können nicht durch Unterklassen überschrieben werden Wenn die endgültige private Methode nicht von Unterklassen geerbt werden kann, kann sie immer noch nicht in Ausrichtung neu geschrieben werden (zum Umschreiben muss die Methode der übergeordneten Klasse konsistent sein.)

Dies bedeutet nicht, dass Methodenparameter keine Auswirkung haben. Daher wird die Beurteilung, ob sie umgeschrieben wird, nur anhand des Methodennamens beurteilt (C/C++ darf nicht). Wenn nur derselbe Methodenname, aber auch die gleichen Parameter vorhanden sind, wird dies als Umschreiben betrachtet, andernfalls handelt es sich um eine Überladung, d Die übergeordnete Klassenmethode kann überschrieben werden. Nach 5.3 müssen die Parameter mit der übergeordneten Klassenmethode übereinstimmen und alle den Vererbungsebenenregeln folgen.

class FinalMethod
{
    //可继承不可重写
    final public function finalPublic()
    {
        echo "can be inherited, but be overrided";
    }
    //可继承不可重写
    final protected function finalProtected()
    {
        echo "can be inherited, but be overrided";
    }
    //不可继承不可重写 虽然子类继承不到父类的private方法 但同时也会被final限制无法重写
    final private function finalPrivate()
    {
        echo "can not be inherited or be overrided";
    }
    //虽然不可继承 但子类里可重写此方法
    private function private()
    {
        echo "can not be inherited ,but be overrided";
    }
}

class Override extends FinalMethod
{
    //error
    public function finalPublic()
    {
    }
    //error
    protected function finalProtected()
    {
    }
    //error
    private function finalPrivate()
    {
    }
    //correct
    public/protected/private function private()
    {
        //子类继承父类重写父类方法时访问级别只能更加宽松 不可更为严格
    }
}

3. Beim Überschreiben kann die Zugriffsebene nur gleich oder niedriger als die der übergeordneten Klasse sein.

Die öffentliche Methode der übergeordneten Klasse kann nicht als geschützt oder privat überschrieben werden Unterklasse. Die geschützte Methode kann nicht als privat überschrieben werden und kann nicht streng sein, ähm. Verwandte Empfehlungen:

php-Training

Das obige ist der detaillierte Inhalt vonWas sind die Regeln zum Überschreiben von Methoden in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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