PHP抽象类abstract关键字
用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关键字相关推荐
- java抽象类关键字_Java 抽象类 abstract关键字
抽象类前使用abstract关键字修饰,则该类为抽象类 抽象的方法是不完全的,它只是一个方法签名而完全没有方法体 抽象的方法没有花括号 继承抽象类的子类必须覆盖父类的抽象函数(即:子类继承抽象类以后, ...
- java中抽象类,abstract关键字
抽象类:java语法规定,包含抽象方法的类为抽象类. abstract关键字:abstract用来定义抽象方法和抽象类,定义抽象方法格式为:abstract修饰方法,并去掉大括号,直接以封号结束:定义 ...
- 【Java笔记】抽象类与抽象方法(abstract关键字)的使用
随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用.类的设计应该保证父类和子类能够共享特征.有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类. 目录 a ...
- abstract关键字(抽象类)【Java】
目录 一.abstract关键字 1.1 abstract修饰类(抽象类) 1.2 abstract 修饰方法(抽象方法) 1.3 abstract使用的注意点 二.abstract 关键字的举例说明 ...
- java基础2:this、static、final、abstract关键字、代码块、生成API工具包、继承、多态、方法重载和重写,抽象类、接口、常见异常、java权限修饰符、选择排序思想和程序和内部类
1.this关键字 this表示当前类对象的地址空间值的引用.就是说,this代表了new出来的对象 其最大作用就是解决了构造器中局部变量隐藏成员变量.即用this.变量名 = 变量名 区分. 2.s ...
- php中的抽象类(abstract class)和接口(interface)
一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 2 ...
- java中abstract关键字
abstract关键字的使用 1.abstract: 抽象的 2.abstract可以用来修饰的结构:类.方法 3.abstract修饰类:抽象类 此类不能实例化 抽象类中仍然有构造器,便于子类实例化 ...
- 为什么要在定义抽象类时使用abstract关键字
本文为原创,如需转载,请注明作者和出处,谢谢! 众所周之,在任何面向对象的语言中(包括Java.C#),在定义抽象类时必须使用abstract关键字.虽然这已经习已为常了,但实际上abstract是为 ...
- final关键字/abstract关键字
final关键字:最终的 final可以修饰的结构:类.方法.变量 final类:此类不能被其他类锁继承 eg:String.System/StringBuffer类 final方法:不可以被重写 O ...
最新文章
- 框架依赖注入和普通依赖注入_依赖注入快速入门:它是什么,以及何时使用它...
- vue手机端回退_华为官方教程:以 P40 为例,鸿蒙 OS 2.0 Beta 版本回退到 EMUI 11 稳定版...
- C++析构器详解【C++析构器】
- 2021Lazada开店入驻最新流程Lazada新店运营思路分享
- 广搜--(搜索的第一道题)图像有用区域
- android修改适配器颜色,android viewpager更改适配器
- Struts2-day2总结
- 认识JavaWeb,servlet, JSP, Tomcat, http协议,Web服务器
- 太厉害了!2021年互联网大厂Java笔经
- java打印的globa类l_Spring异常集中处理和日志集中打印
- 计算机科学速成课18:操作系统
- 离子交换树脂工艺解决电脑印刷线路板废水镍超标
- ORBSLAM2 文章翻译
- win10插入耳机还是外放
- GDT 培训 | 模拟第一基准,第二基准和第三基准的拟合
- 主机加固,数据防泄漏的解决方案
- Shell脚步乱码问题解决方案
- 2011软专高级程序语言T4(二维数组按一维数组访问)
- Oracle公司及产品介绍
- 12306系统架构优化
热门文章
- python读取.nii.gz文件并展示医学图片
- voc_eval.py:41: RuntimeWarning: invalid value encountered in greater_equal if np.sum(rec = t) ==
- hadoop需要哪些技术支持
- jquery之仿京东菜单
- html 最初级学习笔记一
- maven配置文件 pom.xml
- weblogic9修改线程数设置
- Power Designer的使用
- 使用uploadify上传图片时返回“Cannot read property 'queueData' of undefined”
- 日志插件 log4net 的使用