PHP examples

master
Juan 3 years ago
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
echo "coucou";
// afficher "coucou";
echo "coucou ";
// affectation
// a = 2;
$a = 2;
echo $a;
echo " ";
echo $a+2;
Loading…
Cancel
Save