La déclaration d'une classe constitue une étape essentielle de la programmation orientée objet.
La déclaration d'une classe s'effectue par l'intermédiaire du mot clé class.
[abstract|final] class Identificateur {
//Bloc d'instructions...
}
Les modificateurs possibles pour une classe de haut niveau ne peuvent être que abstraites (abstract), finales (final).
Le modificateur final indique que la classe ne peut être étendue.
final class Classe {
//...
}
//Impossible car Classe ne peut être étendue
class SousClasse extends Classe {
//...
}
Le modificateur abstract indique que la classe est abstraite.
Le mot-clé class permet de commencer la définition d'une classe.
Une classe est accessible à travers tout le programme à condition d'inclure le fichier source contenant la définition de cette classe.
include(source_classe.php);
Un nom permet d'identifier sans ambiguités la classe dans un programme.
Les accolades délimitent le bloc d'instructions définissant les attributs, les méthodes, les constructeurs, les champs statiques et les constantes ainsi que les éventuelles classes imbriquées.
Exemple [voir]<html>
<body>
<?php
class Societe {
//Attributs
private $nom;
private $telephone;
private $fax;
private $adresse;
//Constructeur
public function Societe($nom,
$telephone,
$fax,
$adresse){
$this->nom = $nom;
$this->telephone = $telephone;
$this->fax = $fax;
$this->adresse = $adresse;
}
//Méthodes
public function getNom() {
return $this->nom;
}
public function getTelephone() {
return $this->telephone;
}
public function getFax() {
return $this->fax;
}
public function getAdresse() {
return $this->adresse;
}
public function __toString() {
return '[' . $this->nom . ', '
. $this->telephone . ', '
. $this->fax . ', '
. $this->adresse . ']';
}
}
$fic = fopen('assurances.csv', 'r');
echo '<table border="1">';
while(!feof($fic)){
$ligne = fgetcsv($fic, 1024, ';');
if(substr($ligne[0], 0, 1) == '#') continue;
list($nom,
$adresse,
$telephone,
$fax) = $ligne;
$societe = new Societe($nom,
$adresse,
$telephone,
$fax);
echo '<tr>';
echo '<td>';
echo $societe;
echo '</td>';
echo '</tr>';
}
echo '</table>';
?>
</body>
</html> |