Maison >développement back-end >tutoriel php >Explication détaillée de la méthode d'implémentation de la classe abstraite php

Explication détaillée de la méthode d'implémentation de la classe abstraite php

伊谢尔伦
伊谢尔伦original
2017-07-03 09:51:202063parcourir

Il existe deux exemples de

Classe abstraite en php, l'un est simple et l'autre est plus complexe. Ce sont de bons exemples pour apprendre les classes abstraites PHP. Les amis dans le besoin peuvent s'y référer.

Classe abstraite php

<?php
//定义一个抽象类
  abstract class Staff
   {
      abstract function hire();
      abstract function fire();
      abstract function promote();
      abstract function demote();
   }
?>

Exemple de classe abstraite php

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

 




Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn