Solution de l'exercice :

Source : lesson_08_php_5_variables_de_classe.php Résultat
<?php
class MyClass 
{
    public 
$vert 
    
"<font color=green><b>Je suis vert </font></b>";
    private 
$orange 
    
"<font color=orange><b>Je suis orange</font></b>";
    protected 
$bleu
    
"<font color=blue><b>Je suis bleu</font></b>";
    protected 
$rouge
    
"<font color=red><b>Je suis rouge</font></b>";
    
    function 
printColor() 
    {
        print 
"Variable publique --> " $this->vert."<br/>";
        print 
"Variable privée ----> " $this->orange."<br/>";
        print 
"Variable protégée --> " $this->bleu."<br/>";
        print 
"variable protégée --> " $this->rouge."<br/>";
        print 
"<hr>";
    }
}
class 
MyClass2 extends MyClass 
{
    protected 
$rouge;
    function 
printColor() 
    {
        echo 
"<b>Appel direct fonction MyClass2::printColor():</b><br/>";
        
MyClass::printColor(); 
    }
}
echo 
"<b>Appel methode objet classe de base : </b><br/>";
$obj = new MyClass();
$obj->printColor(); //fonctionnement normal

echo "<b>Appel methode d'une classe qui étend classe 
    ci-dessus:</b><br/>"
;
$obj_2 = new MyClass2();
$obj_2->printColor();

echo 
"<b>On essaie d'imprimer directement les variables</b><br/>";
print  
"Variable publique >>> " $obj_2->vert."<br/>";
print  
"Variable privée >>> " $obj_2->orange."<br/>";
?>

Appel methode objet classe de base :
Variable publique --> Je suis vert
Variable privée ----> Je suis orange
Variable protégée --> Je suis bleu
variable protégée --> Je suis rouge

Appel methode d'une classe qui étend classe ci-dessus:
Appel direct fonction MyClass2::printColor():
Variable publique --> Je suis vert
Variable privée ----> Je suis orange
Variable protégée --> Je suis bleu
variable protégée -->

On essaie d'imprimer directement les variables
Variable publique >>> Je suis vert
Variable privée >>>


Tous droits réservés. 2005-2020