Exercices d`entrainement POO, Php Question 1 : Soit le code suivant

Transcription

Exercices d`entrainement POO, Php Question 1 : Soit le code suivant
Exercices d'entrainement
POO, Php
Question 1 : Soit le code suivant (fichier test1.php) :
<?php
// active le contrôle strict des erreurs et
error_reporting(E_ALL |E_STRICT);
avertissements
if (empty($_GET['x'])) echo "--empty-- <br>";
if (!isset($_GET['x'])) echo "--not is set-- <br>";
if ($_GET['x']) echo "---".$_GET['x']."--<br>";
echo "--".$_GET['x']."--";
?>
L'interprétation par PHP5 de ce code (http://localhost/~user/test1.php) donne le résultat suivant :
­­empty­­ ­­not is set­­ Notice: Undefined index: x in /home/kpu/public_html/test2.php on line 5
Notice: Undefined index: x in /home/kpu/public_html/test2.php on line 6
Justifier les quatre lignes résultantes (l'interprétation du break row <br> n'est pas à justifier )
Question 2 : Déterminer le résultat produit par l'interprétation PHP5 du fichier test2.php suivant <?php
class Etudiant{
private $nom;
private $prenom;
private $id;
private $idDiplome;
private $notes;
public function __construct($id, $prenom, $nom, $idDiplome){
$this->nom=$nom;
$this->prenom=$prenom;
$this->id=$id;
$this->idDiplome=$idDiplome;
$this->notes=array();
}
public function __toString(){
return $this->prenom .' '.$this->nom;
}
}
$etud=new Etudiant(1,'Célia', 'Buire', 1);
?> Question 3 : Déterminer le résultat produit par l'interprétation PHP5 du fichier test3.php suivant :
<?php
$indice = 4;
$prixUnitaire = 8;
while ($indice < 4) {
$prixUnitaire = $prixUnitaire + 1;
$indice = $indice + 1;
}
echo $indice . "\n";
echo $prixUnitaire . "\n";
for ($i=3; $i<0; $i­­) {
$indice­­;
}
echo $indice . "\n";
echo $prixUnitaire;
?>
Question 4 Conception d'une hiérarchie de classes et gestion d'une liste d'objets
On souhaite simuler une gestion de parc de véhicules d'une société de BTP. Un véhicule est caractérisé par un numéro d'immatriculation, une date de mise en circulation, un kilométrage, un modèle et une marque.
Parmi les véhicules on distingue les véhicules utilitaires (ayant un poids total à vide, une charge maximale) des véhicules des techniciens commerciaux (attitré à un commercial).
On ne cherchera pas à concevoir une interface, mais une superclasse qui factorise les caractéristiques des véhicules utilitaires et commerciaux.
1. Proposez une classification que vous illustrez avec un diagramme de classes UML.
2. Implémentez ces classes dans le langage objet de votre choix. La méthode toString devra également être redéfinie.