Using Abstract Classes and Methods : Abstract Class « Class « PHP






Using Abstract Classes and Methods

 
Any class that contains one or more abstract methods must itself be declared as abstract. 
An abstract class cannot be instantiated
A class that extends the abstract class must implement the abstract methods of the parent class or itself be declared as abstract. 

<?
abstract class Animal{ 
    function __construct($name='No-name', $breed='unknown', $price = 15) { 
        $this->name = $name; 
        $this->breed = $breed; 
        $this->price = $price; 
    } 
    function setName($name) { 
        $this->name = $name; 
    } 
    function setBreed($breed){ 
        $this->breed = $breed; 
    } 
    function setPrice($price) { 
        $this->price = $price < 0 ? 0 : $price; 
    } 
    function getName() { 
        return $this->name; 
    } 

    function display() { 
        printf("<p>%s is a %s and costs \$%.2f.</p>\n", $this->name, $this->breed, $this->price); 
    } 
    public static $type = "animal"; 
    
    public static function fly($direction = 'around') { 
        printf("<p>Flying %s.</p>\n", $direction); 
    } 
    abstract public function birdCall(); 
    
} 


class Parrot extends Animal { 
    public function birdCall($singing=FALSE) { 
        $sound = $singing ? "twitter" : "chirp"; 
        printf("<p>%s says: *%s*</p>\n", $this->getName(), $sound); 
    }
}
?>
  
  








Related examples in the same category

1.Define abstract class
2.abstract class demo
3.Using Abstract Classes in PHP 5
4.abstract keyword is used to say that a method or class cannot be created in your program as it stands