Getters and Setters
TP POO : Mini-jeu de combat
Accéder aux attributs
Accéder aux attributs pour lire et modifier leurs valeurs
On rajoute ce code dans notre classe :
// getters pour lire les valeurs des attributs
public function degats() { return $this->_degats; }
public function id() { return $this->_id;}
public function nom() { return $this->_nom;}
// setters pour modifier les valeurs des attributs
public function setDegats($degats) {
$degats = (int) $degats;
if ($degats >= 0 && $degats <= 100) {
$this->_degats = $degats;
}
}
public function setId($id) {
$id = (int) $id;
if ($id > 0) {
$this->_id = $id;
}
}
public function setNom($nom) {
if (is_string($nom)) {
$this->_nom = $nom;
}
Code complet
<?php
class Personnage {
// Attributs
private $_id,
$_degats,
$_nom;
// Trois constantes de classe renvoyées par la méthode `frapper`
// si on se frappe soi-même
const CEST_MOI = 1;
// si on a tué le personnage en le frappant
const PERSONNAGE_TUE = 2;
// si on a bien frappé le personnage
const PERSONNAGE_FRAPPE = 3;
// méthodes
public function frapper(Personnage $perso) {
}
public function recevoirDegats() {
}
// getters pour lire les valeurs des attributs
public function degats() { return $this->_degats; }
public function id() { return $this->_id;}
public function nom() { return $this->_nom;}
// setters pour modifier les valeurs des attributs
public function setDegats($degats) {
$degats = (int) $degats;
if ($degats >= 0 && $degats <= 100) {
$this->_degats = $degats;
}
}
public function setId($id) {
$id = (int) $id;
if ($id > 0) {
$this->_id = $id;
}
}
public function setNom($nom) {
if (is_string($nom)) {
$this->_nom = $nom;
}
}
}