Mega Code Archive

 
Categories / Php / Class
 

Abstract class demo

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