Développement de sites Web transactionnels(AEC)

L'héritage

Permet de réutiliser des classes pour en construire de nouvelles.

On se sert de certaines classes « de base », ou mère, pour construire des classes plus complètes.

 

Comment reconnaître un héritage

Il a  un héritage quand on peut dire «un Étudiant  est une Personne»  ou un «Enseignant est une Personne» par exemple.

Donc on peut faire une héritage : «La classe Étudient et  Enseignant héritent de la classe Personne»

Les classes Étudiant et Enseignant vont hériter tous les propriétés (attributes) et methods (fonctions) de la Classe Personne.


Propriétés de la notion d'héritage

Transitivité : si B hérite de A et si C hérite de B alors C hérite de A ;

Non réflexif : une classe ne peut hériter d’elle-même ;

Nom symétrique : si A hérite de B, B n’hérite pas de A ;

Sans cycle : Il n'est pas possible que B hérite de A, C hérite de B et que A hérite de C.

Modèle UML


Nous avons donc maintenant trois classes : « Personne, Étudiant, Enseignant »

Pour faire une héritage d'une classe en PHP on utilise la command extends.





Code

 

//La Classe

class Personne{

var $nom;
public function getNom()
{
return $this->nom;
}
public function setNom($nouveauNom)
{
$this->nom = $nouveauNom;
}

}

 

//L'Héritage

 

class Etudiant extends Personne{

var $matricule;
public function getMatricule()
{
return $this->matricule;
}
public function setMatricule($nouvelleMatricule)
{
$this->matricule = $nouvelleMatricule;
}

}

?>

 



Code

<?php

include 'class.personne.php';


$personne = new Personne();

$etudiant = new Etudiant();

$personne->setNom('Marcos'); 

$etudiant->setNom('Petter');

$etudiant->setMatricule('1111111');

 

echo $personne->getNom()." est une personne<br />";

echo $etudiant->getNom()." est un étudiant et sa matricule est ".$etudiant->getMatricule();
?>