• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP Klassen Problem

ky_fr34k

Mitglied
Hallo Forum,

ich hab folgendes Problem mit meinen Klassen.

Ich habe eine Abstrakte Basisklasse. Davon wird eine Klasse abgeleitet die die abstrakten Methoden implementiert. Außerdem habe ich noch eine weiter Klasse die von der abgeleiteten Klasse abgeleitet wurde.

Das Problem ist, dass die zweite Ableitung die Methoden nicht überschreibt.

Hier mal ein kleines Beispiel:
PHP:
<?php    
    abstract class baseclass
    {
        public function speak()
        {
            $content = $this->sayHello();
            $content .= $this->sayBye();
            return $content;
        }
        
        abstract protected function sayHello();
        
        abstract protected function sayBye();
    }
    
    class class1 extends baseclass
    {
        protected function sayHello()
        {
            return __CLASS__.": Hoi<br>";
        }
        
        protected function sayBye()
        {
            return __CLASS__.": Tsche<br>";
        }
    }
    
    class class11 extends class1
    {
        protected function sayHello()
        {
            return __CLASS__.": Servus<br>";
        }
    }







    echo "<br>Class1<br>";
    $class1 = new class1;
    echo $class1->speak();
    
    echo "<br>Class11<br>";
    
    $class1 = new class1;
    echo $class1->speak();
    
    


?>
Ergebnis:
Class1
class1: Hoi
class1: Tsche

Class11
class1: Hoi
class1: Tsche
Erwartetes Ergebnis:
Class1
class1: Hoi
class1: Tsche

Class11
class11: Servus
class1: Tsche
Versteht ihr was ich meine?
Wo ist mein Problem?

Gruß KY
 
Werbung:
Werbung:
Zurück
Oben