欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 设计模式 之 abstract 抽象类简介

程序员文章站 2024-02-12 21:20:58
...
最近正在看 《learning php设计模式》,记录一下自己的笔记 须知
  • 定义为抽象的类不能被实例化
  • 子类必须定义父类中的所有抽象方法
  • 抽象类定义了方法的权限,子类实现时权限必须一致
  • 同 3,类型,所需参数数量必须一致
  • 子类定义了一个可选参数,而父类抽象方法的声明里没有,则两者的声明并无冲突
  • 简单代码示范

    /** * 抽象类 * 如果一个类至少有一个抽象方法,它必然是一个抽象类 * 如果一个类中申明了一个抽象方法,那么继承这个父类的各个子类必须都实现这个方法 */// 定义一个抽象类 用 abstract 定义abstract class AbstractClass{ // PHP 没有抽象属性之说,可以申明一个属性但不指定值,把它当作一个抽象属性 public $storeHere; // 定义一个抽象函数 abstract public function tick($whatever);}// 继承自抽象类class RunAbstractClass extends AbstractClass{ // 必须实现父类方法 public function tick($whatever){ // 可以使用父类属性 :) 这不废话嘛!这不废话嘛!这不废话嘛! $this->storeHere = $whatever; return 'wu wu wu '.$this->storeHere; }}$test = new RunAbstractClass();echo $test->tick('testing'); // wu wu wu testing