PHP 面向对象:抽象类继承抽象类

摘要:
抽象类继承另外一个抽象类时,不用重写其中的抽象方法。如果发生重写,系统会报错。˃程序运行结果:Fatalerror:Can'tinheritabstractfunctionUser::setSal()inE:PHPProjectsest.phponline14抽象类继承抽象类,目的对抽象类的扩展。

抽象类继承另外一个抽象类时,不用重写其中的抽象方法。抽象类中,不能重写抽象父类的抽象方法。这样的用法,可以理解为对抽象类的扩展。

下面的例子,演示了一个抽象类继承自另外一个抽象类时,不需要重写其中的抽象方法。

<?
abstract classUser 
{
    protected $sal = 0;  
    abstract functiongetSal();
    abstract function setSal($sal);  
}
abstract class VipUser extendsUser {
}
?>

抽象类在被继承后,其中的抽象方法不能被重写。如果发生重写,系统会报错。

<?
abstract classUser 
{
    protected  $sal = 0;  
    abstract functiongetSal();
    abstract function setSal($sal);
}
abstract class VipUser extendsUser 
{
    abstract functionsetSal();
}
?>

程序运行结果:

Fatal error: Can't inherit abstract function User::setSal() (previously declared abstract in VipUser) in E:PHPProjects	est.php on line 14

抽象类继承抽象类,目的对抽象类的扩展。

<?
abstract classUser 
{
    protected $sal = 0;  
    abstract functiongetSal();
    abstract function setSal($sal);
}
abstract class VipUser extendsUser 
{
    protected $commision = 0;
    static abstract functiongetCommision();
    abstract functionsetCommision();    
}
?>

免责声明:文章转载自《PHP 面向对象:抽象类继承抽象类》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇做云原生时代标准化工具,实现高效云上研发工作流openstack swift节点安装手册3-最后的安装配置及验证下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C语言的面向对象设计 —— 对 X264/FFMPEG 架构探讨

类似题目的文章已经不新鲜了,这里,我仅仅总结自己的一些代码经验,结合两款在视频开发领域比较常用的开源软件探讨C语言的应用问题。 1.为什么要用C语言 曾几何时,我也不熟悉C,最早接触C的是在大学四年级,当时已经学过pascal,过二级也是pascal。接着走上了Delphi的路,多方便的软件,写写画画,程序就出来了,本科的毕业设计就是这样出来的MIS,在当...

.NET 基础知识

.net程序基本编写、执行流程(c#)       1>编写c#代码,保存为.cs文件。       2>通过csc.exe程序来将.cs文件编译为.net程序集(.exe或.dll)。此时的exe或dll并不是机器码(cpu不可理解)。【>csc /out:c:a.exe c:program.cs】   C:WindowsMicroso...

Java 抽象类和接口

抽象类 关键字: abstract 抽象类特点: 方法只有声明没有实现时, 该方法就是抽象方法, 需要被 abstract 修饰, 抽象方法必须定义在抽象类中, 该类必须也被 abstract 修饰 抽象类不可以被实例化. 因为抽象方法没有方法体, 调用抽象方法没有意义 抽象类的子类必须覆盖父类的所有抽象方法后, 该子类才可以实例化 抽象类的细节 抽...

java面试第二弹

1.==和equals的区别? == 指向的是一个地址 Equelas 指向的是地址里具体的值 2.静态变量和实例变量的区别? 静态变量依赖于类而存在,如果类改变了,静态变量也会跟着改变 实例变量不管其他类变不变,它自己的改变不会跟着其他东西改变 3.integer与int的区别? Int是java提供的八大原始数据类型之一。Java为每个原始类型都提供了...

浅谈php 抽象类abstract和接口interface

一、抽象类(abstract) 抽象类定义的规范 1、php5支持抽象类和抽象方法 2、定义得抽象类无法被实例化 3、任何一个类里面声明了抽象方法,那么这个类必须声明为抽象类, 一个抽象类可以没有抽象方法 4、被定义得抽象方法只能声明其调用方式(参数),不能定义其具体得功能实现 5、继续抽象类的子类必须定义父类(抽象类)所有的抽象方法,并且访问控制(pub...

Essential.C#第五章 类

在第一章中你已经看到了如何声明一个新类Helloworld。在第二章,你也也学习了C#内建的原类型。你也知道了控制流,还有如何声明方法。现在是时候讨论如何定义属于自己的类型了。这在任何C#程序都是核心结构。C#作为一个面向对象的语言是完全支持类和构建对象。 本章为你引入c#的面向对象编程方式。重点是如何定义类,这是对象的模板。 在前面的章节的程序结构一直...