You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							103 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
	
	
							103 lines
						
					
					
						
							2.1 KiB
						
					
					
				<?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";
 | 
						|
        }
 | 
						|
    }
 |