2016-03-30 7 views
0

so meine Klassendeklaration hierKlassenname von der abstrakten Klasse mit dem gleichen Anstand erweitern

abstract class person { 
    const NAME='person'; 
    public static function get_name(){ 
     return self::NAME; 
    } 
    abstract public function get_description(); 
} 

class me extends person{ 
    const NAME = "me"; 

    public function get_description(){ 
     return "this describe " . self::NAME; 
    } 
} 

Wie Sie sehen können, ist der const Name zweimal in beiden Klassen Person und mir erklärt. Ich erkläre es in der Klasse "Person", weil es dort ist, wo wir es in der Implementierung der Methode verwenden get_name() Ich erkläre es auch in der Klasse "mich", weil ich den Namen "mich" bekommen soll.

so, als ich den Anruf

echo me::get_name() 

Ich will es zurück „me“

Eigentlich gibt es „Person“ so, was ich bin fehlt hier so wäre es „me“ zurückzukehren statt .

Dank

Antwort

Verwandte Themen