Vous êtes sur la page 1sur 3

Travaux pratiques d’application

TP5 – Orienté Objet en PHP

Filière : informatique Niveau : SMI


Matière : PROGRAMMATION WEB AVANCÉE Durée : ----

I- Création dossier web (poo) et configuration de Dreamweaver

1. Dans le dossier « localweb » (de EasyPHP), créer un dossier « poo »


2. Configurer Dreamweaver pour qu il reconnaitre le dossier « poo »

II- Création d’une classe et instanciation d’un objet

1. Dans le dossier « poo », Créer une page « page1.php » et ajouter le code php pour créer une
classe Personne avec la structure suivante :
- Attribut : public $nom
- Attribut : public $age avec la valeur initiale : 25
- Fonction : public AnneeNaiss($anneaAct) qui retourne ($anneaAct - $age)

2. Dans la même page « page1.php » ajouter le code php qui permet:


- Instancier un objet « $p1 » de la classe Personne
- Affecter la valeur « ali » à l’attribut « nom » de l’objet « $p1 ».
- Afficher le résultat de la méthode « AnneeNaiss(2015) » de l’objet « $p1 ».

Page 1 / 3
III- Constructeur et importation dans une autre page

1. Dans la même page « page1.php » (de l’exercice précèdent), ajouter un constructeur :


__constract($nom) : $this->nom = $nom ;

2. Ajouter le code pour instancier un objet $p1 avec le constructeur qu’on vient d’ajouter.
$p1 = new Personne(‘ali’) ;

3. Créer une autre page «page2.php», puis importer « page1.php» dans la page « page2.php »

4. Dans la « page2.php » Instancier un objet $p2 de la classe Personne avec le constructeur.


$p2 = new Personne(‘said’) ;

IV- Constante et statique

1. Dans le dossier « poo », Créer une page « heritage.php » et ajouter le code php pour créer une
classe vehicule avec la structure suivante :
- Attribut : public $marque avec la valeur initial: 2
- Attribut : static $roues avec la valeur initiale : 4
- Fonction : static statique( ) qui affiche 4

V- héritage et final

1. Dans le dossier « poo », Créer une page « heritage.php » et ajouter le code php pour créer les
deux classes suivantes :
- classe vehicule avec la structure suivante :
o Attribut : $marque avec la valeur initiale: «vide»
o Fonction : avance( ) qui affiche «avance »

- classe voiture qui hérite de la classe vehicule avec la structure suivante :


o Fonction : klaxone( ) qui affiche « klaxonne »

Page 2 / 3
2. Dans la même page « heritage.php » ajouter le code php qui permet:
- Redéfinir la fonction avance() dans la classe voiture pour afficher « «avance 222 »
- Instancier un objet « $vvv » de la classe voiture
- Affecter la valeur ‘MMM’ à $vvv->marque
- Afficher $vvv->marque

3. Dans la même page « heritage.php » ajouter le code php qui permet:


- Rendre la classe vehicule de type final
- Qu’est-ce que vous obtenez si vous exécutez la page « heritage.php » ?

VI- interface

1. Dans le dossier « poo », Créer une page « interface.php » et ajouter le code php pour créer
deux interfaces suivantes :
- interface peutAvance avec la structure suivante :
o Fonction : freiner( )
o
- interface peutTourner avec la structure suivante :
o Fonction : tourneGauche( )

2. Dans la même page « interface.php » ajouter le code php qui permet:


- Définir la classe voiture qui implemente les deux interfaces peutAvance et peutAvance et
- Implémenter les méthodes déclarées dans les deux interfaces freiner( ) , tourneGauche( ) .

VII- abstract

1. Dans le dossier « poo », Créer une page « abstract.php » et ajouter le code php pour créer les
deux classes suivantes :
- classe abstract vehicule avec la structure suivante :
o Fonction abstract : avance( )
o Fonction : tourner($sens ) qui affiche «tourne $sens »

- classe voiture qui hérite de la classe vehicule avec la structure suivante :


o Fonction : avance( ) qui affiche « avancerrrr » (redéfinition)

Page 3 / 3

Vous aimerez peut-être aussi