php 抽象类 继承,PHP 抽象类继承抽象类时的注意点
原标题:PHP 抽象类继承抽象类时的注意点
抽象类继承另外一个抽象类时,抽象类中,不能重写抽象父类的抽象方法。这样的用法,可以理解为对抽象类的扩展。
下面的例子,演示了一个抽象类继承自另外一个抽象类时,不需要重写其中的抽象方法。
1
2
3
4
5
6
7
8
9
10
11
12
abstract class User
{
protected $sal = 0;
abstract function getSal;
abstract function setSal($sal);
}
abstract class VipUser extends User {
}
?>
抽象类在被继承后,其中的抽象方法不能被重写。如果发生重写,系统会报错。
1
2
3
4
5
6
7
8
9
10
11
12
13
abstract class User
{
protected $sal = 0;
abstract function getSal;
abstract function setSal($sal);
}
abstract class VipUser extends User
{
abstract function setSal;
}
?>
程序运行结果:
1
Fatal error: Can't inherit abstract function User::setSal (previously declared abstract in VipUser) in E:\PHPProjects\test.php on line 14
结论: 抽象类继承抽象类,目的对抽象类的扩展。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
abstract class User
{
protected $sal = 0;
abstract function getSal;
abstract function setSal($sal);
}
abstract class VipUser extends User
{
protected $commision = 0;
static abstract function getCommision;
abstract function setCommision;
}
?>
上述代码就扩展了父类的方法返回搜狐,查看更多
责任编辑:
php 抽象类 继承,PHP 抽象类继承抽象类时的注意点相关推荐
- java 抽象封装多态_java面向对象(封装,继承,多态,抽象,接口的定义和实现)...
1.封装 在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定 ...
- 腾讯架构师讲解Java接口的继承与抽象类
在实施接口中,我们利用interface语法,将interface从类定义中独立出来,构成一个主体.interface为类提供了接口规范. 在继承中,我们为了提高程序的可复用性,引入的继承机制.当时的 ...
- Java面向对象(继承、抽象类)
面向对象 今日内容介绍 u 继承 u 抽象类 第1章 继承 1.1 继承的概念 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成 ...
- Java实验三 Java继承、抽象类与接口(13题)
文章目录: 一:基本问题 二:说明下面说法是否正确 三:编写一个Java应用程序.设计一个汽车类Vehicle,包含的成员属性有:车轮个数wheels和车重weight.小车类Car是Vehicle的 ...
- 11.0_[Java 继承]-继承/重写/抽象类/抽象方法/ final 修饰符
################################################## 目录 继承 什么是继承 继承语法 super 关键字 如何使用继承 java.lang.Objec ...
- 13 面向对象-继承与抽象类
第01天 java面向对象 今日内容介绍 继承 抽象类 第1章 继承 1.1 继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以 ...
- 创建具体的产品,并继承产品抽象类
工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个.工厂方法让类把实例化推迟到子类. PS:在设计模式中,"实现一个接口"泛指实现某个超类型(可以是类或接口)的 ...
- Java 继承 与 抽象类
Java 继承 与 抽象类 继承 抽象类 继承 1.一个类 从另一个类中派生而来,就是继承. 2.继承也是面向对象语言的三大特征之一. 面向对象的语言都具有三大特征,分别是 封装,继承,多态. 3.什 ...
- 【Java语言基础】面向对象之封装、继承、抽象类、接口、多态综合知识习题及总结day11
这几天逐渐被idea所折服,越来越喜欢这个优雅又强大的代码编辑器,有很多人说idea对很多初学者不友好,但是在我看来,只要你足够自律,并且英语不会太差,语法上关键的几个单词没什么大问题,idea对初学 ...
最新文章
- mybatis中mysql ON DUPLICATE KEY UPDATE写法
- debian配置集锦
- git push everything up to date问题解决
- WINCE6.0+S3C2443的启动过程---eboot5
- os sys hashlib
- 工作269:uni--客流分析优化
- 【LCS系列】最长公共子序列和最长公共子串
- Android已申请动态权限报错,Android 读取或者写入U盘时,报错:Permission denied
- php 的html头部代码,HTML 列表
- STK10与MATLAB互联
- Android Killer--安卓反编译工具
- 数据可视化~matplotlib阶梯图,直方图
- Arduino连接nRF24L01无线收发模块
- Android软键盘的全面解析,让你不再怕控件被遮盖
- 将电脑新建文本文档txt的默认编码从ANSI改为utf-8
- 不小心删了自己的注册表怎么办
- 《阿里云代码安全白皮书》5个维度应对3类代码安全问题
- 【WSN通信】基于注水算法实现宽带无线通信资源分配附matlab代码
- 《Unix-Linux编程实践教程》读书笔记(一)
- JAVA版B2B2C商城源码 多商家入驻商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城
热门文章
- discuz(dz) SSO(单点,同歩,异步)登录 --转
- Javascript中的陷阱大集合【译】
- MyEclipse8.5/8.6不能安装ADT
- linux dmesg 格式化时间
- linux shell 获取字符串最后一个字符 去掉字符串最后一个字符 去掉末尾一个字符 去掉末尾两个字符
- linux ulimit命令 控制shell执行程序的资源
- linux 错误 too many open files 解决方案
- 2018几大主流的 UI/JS 前端框架
- 对多态变形引擎背后方法的概述
- 搭建Linux0.11系统环境