Salut !!!

Bon, là j'ai du mal. Je sais que je dois utiliser une classe Abstract, mais je ne sais pas par ou commencer.....

Voilà, dans ma BDD, j'ai 4 tables "rendez-vous" qui contiennent le même type d'info (il s'agit d'une démarche, on a alors : R0, R1, R2, R3...... dans l'ordre des rendez-vous)

J'ai donc décidé, pour utiliser ma base, de construire une classe par rendez-vous. Et puis j'ai remarqué, à quelques petites exceptions (notamment le nom de mes clés primaires : id_R0, id_R1....), que les types d'infos étaient les mêmes, ainsi que les traitements.... Donc, je trouvais ridicule de "dupliquer" ma classe par autant de "rendez-vous".....

Et je me suis souvenu de la classe virtuel, me permettant de décrir un comportement "général", dont hériterait mes classes "rendez-vous"....Mais je ne sais pas trop comment m'y prendre !!!

Voilà le code que j'ai pour l'instant :
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
class RZero extends BaseJcb implements ShowAttributs {
 
	public $id_r0=null; 
	public $date_intro=null; 
	public $realise=null; 
	public $id_prospect=null; 
	public $echec=null;
 
	function __construct($id_r0, $date_intro, $realise, $id_prospect, $echec){
		$this->id_r0=$id_r0; 
		$this->date_intro=$date_intro; 
		$this->realise=$realise; 
		$this->id_prospect=$id_prospect; 
		$this->echec=$echec;
	}
 
	public function tabAttributs(){
		$attributs['id_r0']=$this->id_r0;
		$attributs['date_intro']=$this->date_intro;
		$attributs['realise']=$this->realise;
		$attributs['id_prospect']=$this->id_prospect;
		$attributs['echec']=$this->echec;
		return $attributs;
	}
 
	public function insertRZero(){
 
	}
 
	public function updateRZero(){
 
	}
 
	public function deleteRZero(){
 
	}
 
	function __destruct(){
 
	}
}
....Et ceci par autant de rendez-vous !!!!!

Alors je me suis dis, faisons cette classe abstraite et héritons tout ca !!!

Mais je bloque, je ne vois pas ma démarche plus loin :
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
28
29
30
31
32
 
abstract class RGeneral extends BaseJcb implements ShowAttributs {
 
	public $id_r=null; 
	public $date_intro=null; 
	public $realise=null; 
	public $id_prospect=null; 
	public $echec=null;
	protected $type;//r0 ou r1 ou R2....
 
	public function tabAttributs(){
		$attributs['id_r']=$this->id_r;
		$attributs['date_intro']=$this->date_intro;
		$attributs['realise']=$this->realise;
		$attributs['id_prospect']=$this->id_prospect;
		$attributs['echec']=$this->echec;
		return $attributs;
	}
 
	public function insertR(){
 
	}
 
	public function updateR(){
 
	}
 
	public function deleteR(){
 
	}
 
}
Quelqu'un peut il m'aider, à voir, concrètement, comment utiliser une classe abstraite ?!!! (je sais, le jeux de mot concret et abstrait... )

Merci pour votre aide futur !!!!