2016-12-09 4 views
0

Gibt es eine Möglichkeit, die Sichtbarkeit einer erweiterten Klassenmethode außer Kraft zu setzen, ohne die gesamte Methode zu überschreiben?Die Methode Visibility der erweiterten Klasse überschreiben

class A 
{ 
    public function perform() 
    { 
     // Do a bunch of stuff that you don't want to override. 
    } 
} 

class B extends A 
{ 

    /* 
    * Change perform()'s viability from public 
    * to protected without re-coding the whole method. 
    */ 
} 

// You can not do this. 
$b = new B(); 
$b->perform(); 
+0

Seine Reflexion, siehe die [docs] (http://php.net/manual/en/reflectionmethod genannt. settaccessible.php) – Xorifelse

Antwort

1

Sie können eine geschützte Methode erstellen, die einfach die übergeordnete Methode aufruft:

class B extends A 
{ 
    protected function perform() { 
     parent::perform(); 
    } 
} 
Verwandte Themen