There are two examples of Abstract classes in
, one is simple and the other is more complex. They are good examples for learning PHP abstract classes. Friends in need can refer to them.
php abstract class
<?php //定义一个抽象类 abstract class Staff { abstract function hire(); abstract function fire(); abstract function promote(); abstract function demote(); } ?>
<?php class Employee { private $title; private $lastName; private $firstName; protected $salary; private $ratio = 0; public function construct($title, $firstName, $mainName, $salary ) { $this->title = $title; $this->firstName = $firstName; $this->lastName = $mainName; $this->salary = $salary; } public function firstName() { return $this->firstName; } public function getlastName() { return $this->lastName; } public function setRatio( $num ) { $this->ratio=$num; } public function getRatio() { return $this->ratio; } public function getTitle() { return $this->title; } public function getSalary() { return ($this->salary - $this->ratio); } public function getFullName() { return "{$this->firstName}" . " {$this->lastName}"; } function getSummaryLine() { $base = "$this->title ( $this->lastName, "; $base .= "$this->firstName )"; return $base; } } //定义抽象类 abstract class EmployeeWriter { abstract static function write( Employee $shopProduct ); } class TextEmployeeWriter extends EmployeeWriter { static function write( Employee $shopEmployee ) { $str = "{$shopEmployee->getTitle()}: "; $str .= $shopEmployee->getFullName(); $str .= " ({$shopEmployee->getSalary()})\n"; print $str; } } $developer1 = new Employee("A", "A1", "A2", 5.99 ); TextEmployeeWriter::write( $developer1 ); ?>
The above is the detailed content of Detailed explanation of the implementation method of php abstract class. For more information, please follow other related articles on the PHP Chinese website!