5 PHP Poo
5 PHP Poo
5 PHP Poo
Septembre 2010
Plan
IFT1147
Programmation Serveur Web avec PHP
La POO en PHP
Introduction la POO
Objets et classes
Proprits
Mthodes
Private
Hritage
Polymorphisme et hritage multiple
IFT1147 - Introduction PHP
PHP 4 et PHP 5
Constructeurs
Hritage
PHP 5 supporte
private, public
Destructeurs
Method overloading
IFT1147 - Introduction PHP
Programmation PHP
Septembre 2010
POO (suite)
Procdurale
Dfinitions de donnes
Les employs
Linventaire
POO
POO
Dfinition de donnes
Code de manipulation des donnes
Dfinition de donnes
Code de manipulation des donnes
Programmation PHP
Septembre 2010
Terminologies
Encapsulation
Hritage
Lhritage (suite)
Cest la base des notions de rutilisation de composants logiciels.
Lide est de pouvoir dfinir (driver) une nouvelle classe en se
servant dune classe existante (base).
La classe drive hrite des membres de la classe de base tout en
lui ajoutant de nouveaux.
Il sagit dcrire de nouvelles classes plus spcifiques en se
servant des dfinitions de base.
Par exemple, nous pouvons driver une nouvelle classe Employe
en se servant de la classe de base Personne.
Permet de dfinir la relation est un. Par exemple, un employ
est une personne ou encore un tudiant est une personne. Un
cercle est une forme go
10
11
12
Programmation PHP
Septembre 2010
Gnralits (hritage)
Constructeurs/destructeurs
Un constructeur servira initialiser le contenu dun
objet et mme dans certains cas allouer lespace
ncessaire aux donnes membres de lobjet.
Le constructeur est appel automatiquement lors de la
cration de lobjet, il est alors impossible de loublier.
Un destructeur permet de librer les ressources
utilises par un objet.
class Personne
nom,
naissance,
Class Etudiant
class Employe
progEtude,
codePermanent
Etc
poste,
salaire,
Etc
13
14
Exemple
class NomDeLaClasse {
var $propriete1;
var $propriete2;
function __construct() {
//constructeur
}
function fonction() {
// mthode
}
}
16
Programmation PHP
Septembre 2010
Instanciation
La classe Employe
class Employe {
var $nom;
var $salaire;
function __construct($n, $s) {
$this->nom = $n;
$this->salaire = $s;
}
function toHTML() {
return "<strong>Le nom:</strong><em>$this->nom</em>".
"<strong>sal:</strong><em>$this->salaire</em>";
}
}
$bob = new Employe( "Bob", 45000 );
echo $bob->toHTML();
17
Utilisation de $this
18
19
20
Programmation PHP
Septembre 2010
Le mot cl private
Lhritage
Etudiant
programme,
cours, notes
class Personne {
private $nom;
private $adresse;
private $tel
function __construct($n, $a, $t) {
$this->nom = $n;
$this->adresse = $a;
$this->tel = $t;
}
function toHTML() {
//
}
}
$toto = new Personne( "toto", "123 rue Laval", "514");
echo $toto->toHTML();
Client
achats
22
La classe Personne
Personne
nom, adresse, tel
Employe
salaire, poste
23
24
Programmation PHP
Septembre 2010
Mthodes statiques
Conventions
26
27
28
Programmation PHP
Septembre 2010
Concrtement: toHTML()
Concrtement: toHTML()
30
31
32
Programmation PHP
Septembre 2010
33
34
Extreme Programming
Test-driven Development
Refactoring
Catalogues de Design Patterns
IFT1147 - Introduction PHP
Membres protected
Interfaces
Constantes
Classes abstraites
Utilisation des mthodes de la classe de
base
Surcharge des mthodes
Lectures intressantes
35
36