Leçon N° 08 : Classes et objets
Variables privées et protégées(PHP >=5 seulement)SolutionSolution & source****
Trouver un moyen d'accéder à la variable $orange à partir de MyClass2
Notes de page
Source: lesson_08_php_5_variables_de_classe.phpRésultat
<?php
class MyClass 
{
    public 
$vert 
    
"<font color=green><b>Je suis vert </font></b>";
    private 
$black 
    
"<font color=black><b>Je suis noir (privé Myclass)</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->black."<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;
    private 
$orange 
    
"<font color=orange><b>Je suis orange (privé Myclass2)</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 
"Protégée classe en cours >" $this->rouge."<br/>"
        print 
"<hr>";
    }
}
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/>";
echo 
"_____________________________________________<br />";
echo 
'<b><font color="dark red"> Il va y avoir une erreur si je veux accéder à une variable privée! : </b><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 noir (privé Myclass)
Variable protégée --> Je suis bleu
variable protégée --> Je suis rouge

Appel methode d'une classe qui étend classe ci-dessus:
Variable publique >>> Je suis vert
Variable privée >>> Je suis orange (privé Myclass2)
Variable protégée >>> Je suis bleu
Protégée classe en cours >

On essaie d'imprimer directement les variables
Variable publique >>> Je suis vert
_____________________________________________
Il va y avoir une erreur si je veux accéder à une variable privée! :