parent
e0f2566d73
commit
e3f63974b4
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
abstract class forme
|
||||
{
|
||||
abstract function surface();
|
||||
abstract function perimetre();
|
||||
}
|
||||
|
||||
class rectangle extends forme
|
||||
{
|
||||
protected $longeur;
|
||||
protected $largeur;
|
||||
|
||||
function __construct($longeur, $largeur)
|
||||
{
|
||||
$this->longeur = $longeur;
|
||||
$this->largeur = $largeur;
|
||||
}
|
||||
|
||||
function surface()
|
||||
{
|
||||
return $this->longeur * $this->largeur;
|
||||
}
|
||||
|
||||
function perimetre()
|
||||
{
|
||||
return 2 * $this->longeur + 2 * $this->largeur;
|
||||
}
|
||||
}
|
||||
|
||||
class carre extends rectangle
|
||||
{
|
||||
function __construct($c)
|
||||
{
|
||||
parent::__construct($c,$c);
|
||||
}
|
||||
}
|
||||
|
||||
$rectangle = new rectangle(4,3);
|
||||
echo ". Un rectangle de 4 par 3 a un périmètre de ";
|
||||
echo $rectangle->perimetre();
|
||||
echo " et une surface de ";
|
||||
echo $rectangle->surface();
|
||||
|
||||
$carre = new carre(4);
|
||||
echo ". Un carré de côté 4 a un périmètre de ";
|
||||
echo $carre->perimetre();
|
||||
echo " et une surface de ";
|
||||
echo $carre->surface();
|
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
class cercle
|
||||
{
|
||||
private $rayon;
|
||||
|
||||
function __construct($rayon)
|
||||
{
|
||||
$this->rayon = $rayon;
|
||||
}
|
||||
|
||||
function surface()
|
||||
{
|
||||
return M_PI * $this->rayon * $this->rayon;
|
||||
}
|
||||
|
||||
function rayon()
|
||||
{
|
||||
return $this->rayon;
|
||||
}
|
||||
|
||||
function changer_rayon($rayon)
|
||||
{
|
||||
if($rayon < 0)
|
||||
{
|
||||
echo " Erreur : impossible de définir un cercle de rayon négatif! ";
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->rayon = $rayon;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$cercle3 = new cercle(3);
|
||||
echo $cercle3->surface();
|
||||
|
||||
echo " ";
|
||||
|
||||
$cercle5 = new cercle(5);
|
||||
echo $cercle5->surface();
|
||||
|
||||
echo " ";
|
||||
|
||||
$cercleN = new cercle(2);
|
||||
echo $cercleN->surface();
|
||||
|
||||
echo " ";
|
||||
|
||||
$cercleN->changer_rayon(7);
|
||||
echo $cercleN->surface();
|
||||
|
||||
echo " ";
|
||||
$cercleN->changer_rayon(-1);
|
||||
echo $cercleN->rayon();
|
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
//encapsulation le cercle ne donne accès
|
||||
//que à ces élément publiques
|
||||
class cercle
|
||||
{
|
||||
public $rayon;
|
||||
private $ordonnee;
|
||||
private $abcisse;
|
||||
function surface()
|
||||
{
|
||||
return M_PI * $this->rayon * $this->rayon;
|
||||
}
|
||||
}
|
||||
|
||||
$cercle3 = new cercle();
|
||||
$cercle3->rayon = 3;
|
||||
//Attention la ligne ci-dessous produit une erreur
|
||||
//$cercle3->abcisse = 22;
|
||||
echo $cercle3->surface();
|
@ -0,0 +1,41 @@
|
||||
// définir un objet abstrait personne qui a un nom et un prenom
|
||||
objet abstrait personne
|
||||
var protégée nom, prenom chaînes;
|
||||
|
||||
methode constructeur(n,p)
|
||||
ceci->nom = n;
|
||||
ceci->prenom = p;
|
||||
fin methode
|
||||
|
||||
methode abstraite se_connecter();
|
||||
fin objet
|
||||
|
||||
// définir un objet utilisateur héritant de personne
|
||||
// mais avec un mail et un mot de passe
|
||||
objet utilisateur étend personne
|
||||
var protégée mail, mdp chaînes;
|
||||
|
||||
methode constructeur(n,p,mail,mdp)
|
||||
parent->constructeur(n,p);
|
||||
ceci->mail = mail;
|
||||
ceci->mdp = mdp;
|
||||
fin methode;
|
||||
|
||||
methode se_connecter()
|
||||
connection(ceci->mail, ceci->mdp)
|
||||
fin methode;
|
||||
fin objet;
|
||||
|
||||
// définir un client qui est un utilisateur
|
||||
// mais avec un numero client
|
||||
objet client étend utilisateur
|
||||
var privée numero;
|
||||
methode constructeur(n,p,mail,mdp, num)
|
||||
parent->constructeur(n,p,mail,mdp);
|
||||
ceci->numero = num;
|
||||
fin methode;
|
||||
fin objet;
|
||||
|
||||
// tous doivent pouvoir se connecter,
|
||||
// pour la connection on a à disposition la fonction externe :
|
||||
// connection(mail, motdepase)
|
@ -0,0 +1,63 @@
|
||||
<?php
|
||||
abstract class forme
|
||||
{
|
||||
abstract function surface();
|
||||
abstract function perimetre();
|
||||
}
|
||||
|
||||
class rectangle extends forme
|
||||
{
|
||||
protected $longeur;
|
||||
protected $largeur;
|
||||
|
||||
function __construct($longeur, $largeur)
|
||||
{
|
||||
$this->longeur = $longeur;
|
||||
$this->largeur = $largeur;
|
||||
}
|
||||
|
||||
function surface()
|
||||
{
|
||||
return $this->longeur * $this->largeur;
|
||||
}
|
||||
|
||||
function perimetre()
|
||||
{
|
||||
return 2 * $this->longeur + 2 * $this->largeur;
|
||||
}
|
||||
}
|
||||
|
||||
class triangle_rectangle extends forme
|
||||
{
|
||||
protected $hauteur;
|
||||
protected $base;
|
||||
|
||||
function __construct($h, $b)
|
||||
{
|
||||
$this->hauteur = $h;
|
||||
$this->base = $b;
|
||||
}
|
||||
|
||||
function hypothenuse()
|
||||
{
|
||||
return sqrt($this->hauteur*$this->hauteur + $this->base*$this->base);
|
||||
}
|
||||
|
||||
function surface()
|
||||
{
|
||||
return ($this->hauteur * $this->base) / 2;
|
||||
}
|
||||
|
||||
function perimetre()
|
||||
{
|
||||
return $this->hauteur + $this->base + $this->hypothenuse();
|
||||
}
|
||||
}
|
||||
|
||||
$triangle_rectangle = new triangle_rectangle(4,3);
|
||||
echo ". Un triangle rectangle de 4 par 3 a un périmètre de ";
|
||||
echo $triangle_rectangle->perimetre();
|
||||
echo " une hypothénuse de ";
|
||||
echo $triangle_rectangle->hypothenuse();
|
||||
echo " et une surface de ";
|
||||
echo $triangle_rectangle->surface();
|
@ -0,0 +1,75 @@
|
||||
<?php
|
||||
abstract class forme
|
||||
{
|
||||
abstract function surface();
|
||||
abstract function perimetre();
|
||||
}
|
||||
|
||||
class cercle extends forme
|
||||
{
|
||||
private $rayon;
|
||||
|
||||
function __construct($rayon)
|
||||
{
|
||||
$this->rayon = $rayon;
|
||||
}
|
||||
|
||||
function surface()
|
||||
{
|
||||
return M_PI * $this->rayon * $this->rayon;
|
||||
}
|
||||
|
||||
function perimetre()
|
||||
{
|
||||
return M_PI * $this->rayon * 2;
|
||||
}
|
||||
}
|
||||
|
||||
class rectangle extends forme
|
||||
{
|
||||
protected $longeur;
|
||||
protected $largeur;
|
||||
|
||||
function __construct($longeur, $largeur)
|
||||
{
|
||||
$this->longeur = $longeur;
|
||||
$this->largeur = $largeur;
|
||||
}
|
||||
|
||||
function surface()
|
||||
{
|
||||
return $this->longeur * $this->largeur;
|
||||
}
|
||||
|
||||
function perimetre()
|
||||
{
|
||||
return 2 * $this->longeur + 2 * $this->largeur;
|
||||
}
|
||||
}
|
||||
|
||||
class carre extends rectangle
|
||||
{
|
||||
function __construct($cote)
|
||||
{
|
||||
$this->longeur = $cote;
|
||||
$this->largeur = $cote;
|
||||
}
|
||||
}
|
||||
|
||||
$cercle = new cercle(3);
|
||||
echo "Un cercle de rayon 3 a un périmètre de ";
|
||||
echo $cercle->perimetre();
|
||||
echo " et une surface de ";
|
||||
echo $cercle->surface();
|
||||
|
||||
$rectangle = new rectangle(4,3);
|
||||
echo ". Un rectangle de 4 par 3 a un périmètre de ";
|
||||
echo $rectangle->perimetre();
|
||||
echo " et une surface de ";
|
||||
echo $rectangle->surface();
|
||||
|
||||
$carre = new carre(4);
|
||||
echo ". Un carré de côté 4 a un périmètre de ";
|
||||
echo $carre->perimetre();
|
||||
echo " et une surface de ";
|
||||
echo $carre->surface();
|
@ -0,0 +1,102 @@
|
||||
<?php
|
||||
/*
|
||||
Fichier qui définit des chose mais ne fait rien,
|
||||
au sens informatique ceci peut être considéré comme un librairie
|
||||
*/
|
||||
abstract class forme
|
||||
{
|
||||
abstract function surface();
|
||||
abstract function perimetre();
|
||||
function type()
|
||||
{
|
||||
return ucfirst(get_class($this));
|
||||
}
|
||||
}
|
||||
|
||||
class cercle extends forme
|
||||
{
|
||||
private $rayon;
|
||||
|
||||
function __construct($rayon)
|
||||
{
|
||||
$this->rayon = $rayon;
|
||||
}
|
||||
|
||||
function surface()
|
||||
{
|
||||
return M_PI * $this->rayon * $this->rayon;
|
||||
}
|
||||
|
||||
function perimetre()
|
||||
{
|
||||
return M_PI * $this->rayon * 2;
|
||||
}
|
||||
}
|
||||
|
||||
class rectangle extends forme
|
||||
{
|
||||
protected $longeur;
|
||||
protected $largeur;
|
||||
|
||||
function __construct($longeur, $largeur)
|
||||
{
|
||||
$this->longeur = $longeur;
|
||||
$this->largeur = $largeur;
|
||||
}
|
||||
|
||||
function surface()
|
||||
{
|
||||
return $this->longeur * $this->largeur;
|
||||
}
|
||||
|
||||
function perimetre()
|
||||
{
|
||||
return 2 * $this->longeur + 2 * $this->largeur;
|
||||
}
|
||||
}
|
||||
|
||||
class carre extends rectangle
|
||||
{
|
||||
function __construct($cote)
|
||||
{
|
||||
$this->longeur = $cote;
|
||||
$this->largeur = $cote;
|
||||
}
|
||||
|
||||
function type()
|
||||
{
|
||||
return "Carré";
|
||||
}
|
||||
}
|
||||
|
||||
class triangle_rectangle extends forme
|
||||
{
|
||||
protected $hauteur;
|
||||
protected $base;
|
||||
|
||||
function __construct($h, $b)
|
||||
{
|
||||
$this->hauteur = $h;
|
||||
$this->base = $b;
|
||||
}
|
||||
|
||||
function hypothenuse()
|
||||
{
|
||||
return sqrt($this->hauteur*$this->hauteur + $this->base*$this->base);
|
||||
}
|
||||
|
||||
function surface()
|
||||
{
|
||||
return ($this->hauteur * $this->base) / 2;
|
||||
}
|
||||
|
||||
function perimetre()
|
||||
{
|
||||
return $this->hauteur + $this->base + $this->hypothenuse();
|
||||
}
|
||||
|
||||
function type()
|
||||
{
|
||||
return "Triangle Rectangle";
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
header('Content-Type: text/plain;charset=utf-8');
|
||||
// récupérer ma librairie de formes
|
||||
require(__dir__."/objets/formes.php");
|
||||
echo "\n---------------";
|
||||
// pour le polymorphisme
|
||||
$tdf = array();
|
||||
$tdf[0] = new cercle(9);
|
||||
$tdf[1] = new triangle_rectangle(4,3);
|
||||
$tdf[2] = new carre(2);
|
||||
$tdf[3] = new rectangle(1,7);
|
||||
$tdf[4] = "bonjour";
|
||||
|
||||
for($i=0;$i<5;$i++)
|
||||
{
|
||||
if($tdf[$i] instanceof forme)
|
||||
{
|
||||
echo "\n\n la forme ".$i." est de type : ";
|
||||
echo $tdf[$i]->type();
|
||||
echo "\n périmètre de la forme ".$i." : ";
|
||||
echo $tdf[$i]->perimetre();
|
||||
echo "\n surface de la forme ".$i." : ";
|
||||
echo $tdf[$i]->surface();
|
||||
}
|
||||
if($tdf[$i] instanceof triangle_rectangle)
|
||||
{
|
||||
echo "\n hypothenuse de la forme ".$i." : ";
|
||||
echo $tdf[$i]->hypothenuse();
|
||||
}
|
||||
}
|
@ -1,2 +1,10 @@
|
||||
<?php
|
||||
// afficher "coucou";
|
||||
echo "coucou ";
|
||||
// affectation
|
||||
// a = 2;
|
||||
$a = 2;
|
||||
echo $a;
|
||||
echo " ";
|
||||
echo $a+2;
|
||||
|
Loading…
Reference in new issue