Introduction à la programmation orientée objet — Correction d'exercices

Voici des propositions de solutions en mode console (via readline()). N’hésite pas à les adapter.

#1 — Définir une classe

Crée une classe Voiture vide et instancie un objet $maVoiture.

Voir le corrigé
<?php
class Voiture {
    // Code de la classe
}

$maVoiture = new Voiture();
var_dump($maVoiture);
?>

#2 — Propriétés

Ajoute une propriété publique $marque à la classe Voiture. Assigne 'Toyota' et affiche-la.

Voir le corrigé
<?php
class Voiture {
    public $marque;
}

$v = new Voiture();
$v->marque = "Toyota";
echo "Ma voiture est une " . $v->marque;
?>

#3 — Méthodes

Ajoute une méthode demarrer() qui affiche 'Vroum !'.

Voir le corrigé
<?php
class Voiture {
    public function demarrer() {
        echo "Vroum !";
    }
}

$v = new Voiture();
$v->demarrer();
?>

#4 — Constructeur

Utilise __construct($marque) pour initialiser la marque lors de la création de l'objet.

Voir le corrigé
<?php
class Voiture {
    public $marque;

    public function __construct($m) {
        $this->marque = $m;
    }
}

$v = new Voiture("Peugeot");
echo $v->marque;
?>

#5 — Visibilité (Private)

Rends la propriété $marque privée et crée une méthode getMarque() pour la lire (Getter).

Voir le corrigé
<?php
class Voiture {
    private $marque;

    public function __construct($m) {
        $this->marque = $m;
    }

    public function getMarque() {
        return $this->marque;
    }
}

$v = new Voiture("Renault");
echo $v->getMarque();
// echo $v->marque; // Erreur car private
?>
Besoin d'aide ?
Tuteur Virtuel
Bonjour ! Je suis votre tuteur virtuel. Comment puis-je vous aider avec ce cours aujourd'hui ?
Historique des conversations
Chargement...