用abstract定义的类不能被实例化。有一个函数为abstract的类,这个类就必须是abstract,子类必须

定义所有的父类中的abstract函数,子类中函数的作用域只能被扩大,不能缩小。

<?phpabstract class AbstractClass{// Force Extending class to define this methodabstract protected function getValue();abstract protected function prefixValue($prefix);// Common methodpublic function printOut() {print $this->getValue() . "\n";}}class ConcreteClass1 extends AbstractClass{protected function getValue() {return "ConcreteClass1";}public function prefixValue($prefix) {return "{$prefix}ConcreteClass1";}}class ConcreteClass2 extends AbstractClass{public function getValue() {return "ConcreteClass2";}public function prefixValue($prefix) {return "{$prefix}ConcreteClass2";}}$class1 = new ConcreteClass1;$class1->printOut();echo $class1->prefixValue('FOO_') ."\n";$class2 = new ConcreteClass2;$class2->printOut();echo $class2->prefixValue('FOO_') ."\n";?>

The above example will output:

ConcreteClass1

FOO_ConcreteClass1

ConcreteClass2

FOO_ConcreteClass2

PHP抽象类abstract关键字相关推荐

  1. java抽象类关键字_Java 抽象类 abstract关键字

    抽象类前使用abstract关键字修饰,则该类为抽象类 抽象的方法是不完全的,它只是一个方法签名而完全没有方法体 抽象的方法没有花括号 继承抽象类的子类必须覆盖父类的抽象函数(即:子类继承抽象类以后, ...

  2. java中抽象类,abstract关键字

    抽象类:java语法规定,包含抽象方法的类为抽象类. abstract关键字:abstract用来定义抽象方法和抽象类,定义抽象方法格式为:abstract修饰方法,并去掉大括号,直接以封号结束:定义 ...

  3. 【Java笔记】抽象类与抽象方法(abstract关键字)的使用

    随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用.类的设计应该保证父类和子类能够共享特征.有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类. 目录 a ...

  4. abstract关键字(抽象类)【Java】

    目录 一.abstract关键字 1.1 abstract修饰类(抽象类) 1.2 abstract 修饰方法(抽象方法) 1.3 abstract使用的注意点 二.abstract 关键字的举例说明 ...

  5. java基础2:this、static、final、abstract关键字、代码块、生成API工具包、继承、多态、方法重载和重写,抽象类、接口、常见异常、java权限修饰符、选择排序思想和程序和内部类

    1.this关键字 this表示当前类对象的地址空间值的引用.就是说,this代表了new出来的对象 其最大作用就是解决了构造器中局部变量隐藏成员变量.即用this.变量名 = 变量名 区分. 2.s ...

  6. php中的抽象类(abstract class)和接口(interface)

    一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 2 ...

  7. java中abstract关键字

    abstract关键字的使用 1.abstract: 抽象的 2.abstract可以用来修饰的结构:类.方法 3.abstract修饰类:抽象类 此类不能实例化 抽象类中仍然有构造器,便于子类实例化 ...

  8. 为什么要在定义抽象类时使用abstract关键字

    本文为原创,如需转载,请注明作者和出处,谢谢! 众所周之,在任何面向对象的语言中(包括Java.C#),在定义抽象类时必须使用abstract关键字.虽然这已经习已为常了,但实际上abstract是为 ...

  9. final关键字/abstract关键字

    final关键字:最终的 final可以修饰的结构:类.方法.变量 final类:此类不能被其他类锁继承 eg:String.System/StringBuffer类 final方法:不可以被重写 O ...

最新文章

  1. 框架依赖注入和普通依赖注入_依赖注入快速入门:它是什么,以及何时使用它...
  2. vue手机端回退_华为官方教程:以 P40 为例,鸿蒙 OS 2.0 Beta 版本回退到 EMUI 11 稳定版...
  3. C++析构器详解【C++析构器】
  4. 2021Lazada开店入驻最新流程Lazada新店运营思路分享
  5. 广搜--(搜索的第一道题)图像有用区域
  6. android修改适配器颜色,android viewpager更改适配器
  7. Struts2-day2总结
  8. 认识JavaWeb,servlet, JSP, Tomcat, http协议,Web服务器
  9. 太厉害了!2021年互联网大厂Java笔经
  10. java打印的globa类l_Spring异常集中处理和日志集中打印
  11. 计算机科学速成课18:操作系统
  12. 离子交换树脂工艺解决电脑印刷线路板废水镍超标
  13. ORBSLAM2 文章翻译
  14. win10插入耳机还是外放
  15. GDT 培训 | 模拟第一基准,第二基准和第三基准的拟合
  16. 主机加固,数据防泄漏的解决方案
  17. Shell脚步乱码问题解决方案
  18. 2011软专高级程序语言T4(二维数组按一维数组访问)
  19. Oracle公司及产品介绍
  20. 12306系统架构优化

热门文章

  1. python读取.nii.gz文件并展示医学图片
  2. voc_eval.py:41: RuntimeWarning: invalid value encountered in greater_equal if np.sum(rec = t) ==
  3. hadoop需要哪些技术支持
  4. jquery之仿京东菜单
  5. html 最初级学习笔记一
  6. maven配置文件 pom.xml
  7. weblogic9修改线程数设置
  8. Power Designer的使用
  9. 使用uploadify上传图片时返回“Cannot read property 'queueData' of undefined”
  10. 日志插件 log4net 的使用