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
|
<?php
|
||||||
echo "coucou";
|
// afficher "coucou";
|
||||||
|
echo "coucou ";
|
||||||
|
// affectation
|
||||||
|
// a = 2;
|
||||||
|
$a = 2;
|
||||||
|
echo $a;
|
||||||
|
echo " ";
|
||||||
|
echo $a+2;
|
||||||
|
|
Loading…
Reference in new issue