Bonjour,

J'aimerais réaliser mon premier héritage, j'ai comprit le principe mais dans mon cas je ne sais pas trop comment faire:

J'ai un constructeur dans ma class parent qui initialise des variable et une fonction qui les traite.

La différence avec ma class fille, c'est l'ajout de plusieurs variables, ainsi, elles doivent aussi être initialisés à la création de l'objet, et j'ai besoin de la même fonction que ma class parent, mais avec une ligne de "if/else" en plus pour chaque variable propres à ma class fille.

1 (concernant l'initialisation des variables de la class fille)] Existe t-il un moyen de faire un constructeur propre à ma class fille qui initialise les variable par le constructeur de son père + le sien ou faut-il déclarer toutes les variables à initialiser dans la class parent, quitte à avoir des variables "protected" qui ne lui serve à rien mais seraient utile uniquement en cas de création d'une class fille ?

2 (partage d'une fonction avec un ajout côté filles)] J'utilise une même fonction dans la class parent et la class fille, sauf que la class fille traite les mêmes variable, et 6 en plus propres à elle, dois-je créer deux fonctions de noms différents ? (une dans la class parent et une dans la classe fille), où si je créer une fonction du même nom dans le fils que dans le père, mais avec uniquement la "partie manquante" (les 6 if/else en +) utile uniquement à la class fille, php saura t-il comprendre comment s'y prendre ?

Je suis conscient que mon explication n'est peut être pas facile à comprendre, c'est pourquoi je me ferait un plaisir de répondre à vos questions si vous en avez ! Voici cependant un petit schémas qui vous parlera peut-être plus:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
UTILE DANS LE PERE + LE FILS
           public function verif_val($creneau, $attribution)
           {
               if ((!$donnees) AND ($creneau == 'dixhuitavingt'))
			return $this->dixhuitavingt;
		else if (($donnees) AND ($creneau == 'dixhuitavingt'))
		{
			$this->dixhuitavingt = true;
			return $this->dixhuitavingt;
		}
		if ((!$donnees) AND ($creneau == 'vingtavingtdeux'))
			return $this->vingtavingtdeux;
		else if (($donnees) AND ($creneau == 'vingtavingtdeux'))
		{
			$this->vingtavingtdeux = true;
			return $this->vingtavingtdeux;
		}
               UTILE UNIQUEMENT DANS LE FILS (est-ce possible d'ajouter uniquement ce bout de code côté fille en reprenant le même nom de fonction ?)
		if ((!$donnees) AND ($creneau == 'vingtdeuxaminuit'))
			return $this->vingtdeuxaminuit;
		else if (($donnees) AND ($creneau == 'vingtdeuxaminuit'))
		{
			$this->vingtdeuxaminuit = true;
			return $this->vingtdeuxaminuit;
		}
             }
Merci !