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); } } ?>
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 |