面向对象的抽象方法和抽象类:

所有子类必须继承父类的方法,但是继承的时候具有不确定性,必须对父类的方法进行重写,这个时候我们就把这个被重写的方法定义成抽象方法,抽象方法不需要有方法体。这个类也就是抽象abstruct。

抽象类是一种不能被实例化的类,只能作为其他类的父类来使用!

如果一个类中,有一个方法是抽象的,则这个类就是抽象类。

如果一个类是抽象类,则这个类必须使用abstract修饰。

抽象类是一种特殊的类,接口是一种特殊的抽象类,多态就要使用到抽象类或接口!

测试代码如下:

abstract class A{

public $name = 'zym';

abstract function show();

}

//$a = new A();//会报错

class B extends A{

public function show(){

echo '继承父类的抽象方法并进行重写';

}

}

$b = new B();

$b->show();

抽象类和普通类相似,包含成员变量和成员方法,两者的区别在于:抽象类至少要包含一个抽象方法,抽象方法没有方法体,其功能的实现只能在子类中完成。

代码如下:

//定义一个名为【Vehicle】的class

abstract class Vehicle{

private $name;//name

private $price;//金额

private $brand;//牌子

abstract function run();

}

class Truck extends Vehicle{

function run(){

echo '汽车在路上跑';

}

}

class Plane extends Vehicle{

public function run(){

echo '注意l,是这样';

}

}

$plane = new Plane;

$plane->run();

注意:抽象方法一定不能带方法体!

php 类定义抽象方法吗,如何理解php的抽象类跟抽象方法相关推荐

  1. python 类中定义列表_Python-从类定义中的列表理解访问类变量

    小编典典 类范围和列表,集合或字典的理解以及生成器表达式不混合. 为什么:或者,官方用词 在Python 3中,为列表理解赋予了它们自己的适当范围(本地名称空间),以防止其局部变量渗入周围的范围内(即 ...

  2. java 抽象方法什么意思_java-什么是抽象类和抽象方法?

    抽象方法是没有主体的方法签名声明. 例如: public abstract class Shape { . . . public abstract double getArea(); public a ...

  3. Python中的抽象类和抽象方法

    Python如何实现抽象类 在python中类 通过继承metaclass =ABCmeta类来创建抽象类,抽象类是包含抽象方法的类,其中ABCmeta类(Metaclass for defining ...

  4. 十一、接口(接口的概念,实现,继承,实现)、抽象类与抽象方法(抽象类,抽象方法概念,使用)...

    接口 接口是一种用来定义程序的协议,它描述可属于任何类和结构的一组相关行为. 接口可由方法.属性.事件和索引器这四种成员类型的任何组合构成,但不能包含字段. 接口通过类继承来实现,一个类虽然只能继承一 ...

  5. Java抽象类和抽象方法

    Java抽象类和抽象方法 参考博客: Java抽象类和抽象方法 java提高篇(五)-–抽象类与接口 抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类. 抽象类有点类似"模 ...

  6. 【C# 教程系列第 11 篇】什么是抽象类、抽象方法

    这是[C# 教程系列第 11 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:什么是抽象类.抽象方法 二:抽象类的特性 1:抽象类不能实例化 2:抽象类可以包含抽象方法和抽象访问器 3:不能用 ...

  7. 设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法

    设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类.长方形类.正方形类.三角形类来继承图形类,并实现上述两个方法 设计抽象类 就要使用abstract关键字,抽象类中的 ...

  8. JavaSE面向对象:继承、多态、Super、Object类、重写、static、final、静态成员、懒汉式、饿汉式、单例设计模式、初始化块、抽象类、抽象方法、接口

    感谢尚硅谷免费提供的视频 继承 ** 理解 ** 生活中的继承:子女继承了父母的财产或相貌或才华 java中的继承:一个类不用自己定义属性或方法,就已经具备了另一个类的属性和方法 把这种现象称为jav ...

  9. abstract类和abstract方法的理解

    abstract类和abstract方法(抽象类和抽象方法) 定义:用关键字abstract修饰的类称为abstract类(抽象类) 应用理解:抽象类可以理解为事务的行为标准,提供模板,该行为标准用抽 ...

最新文章

  1. 为了进行差错控制,必须对传送的数据帧进行校验。在局域网中广泛使用的校验方法是循环冗余校验。当接收端发现错误后采取的措施是
  2. 16S预测细菌表型-bugbase:革兰氏阴阳、生物膜、致病力、移动元件、氧气消耗等...
  3. 如何以初学者角度写好一篇国际学术论文?
  4. WPF 跟随拖动改变的三次贝塞尔曲线思路
  5. (计算机组成原理)第二章数据的表示和运算-第二节5:定点数乘法运算(原码/补码一位乘法)
  6. 【论文笔记】node2vec:可扩展的网络特征学习
  7. Node单线程高并发原理
  8. 自定义数组名做参数(传指针教学)
  9. 【招聘】智联NLP算法工程师
  10. JDK下Bin目录的工具介绍
  11. 套用这套模板,玩转周报、月报、年报更省事
  12. UDS知识整理(二):UDS诊断服务简介
  13. linux ssh 中文变问号,乱码 解决
  14. android listview阻尼效果,自定义阻尼效果listview
  15. Either类java_通过实例学习Either 树和模式匹配
  16. 车载etc充值显示服务器连接失败,为什么有的etc会显示余额,有的没有
  17. 齐桓公称霸天下的用人之道
  18. 即时通讯系统的消息到达率如何保障
  19. python教程 w3c_W3C全套PDF教程 - 下载 - 搜珍网
  20. ubuntu 解决自动休眠问题

热门文章

  1. 剑指Offer之第一个只出现一次的字符
  2. 2021-2025年中国云计费行业市场供需与战略研究报告
  3. 寒武纪“动荡”的 6 周年:CTO 梁军离职,市值蒸发 59 亿,核心技术人才仅剩 3 人
  4. 重磅消息!三星、联想和微软的设备将会搭载Android 12L
  5. Linux之父新年首次“炮轰”:英特尔在扼杀整个 ECC 行业
  6. 程序员真的是太太太太太太太太难了!
  7. 性能 1.84 倍于 Ceph!网易数帆开源分布式存储系统 Curve
  8. Python 玩出花了!一文教你用 Python 制作吃豆人游戏! | 附代码
  9. 行业观察:拐点已至!抛弃传统数据库,乘云而上!
  10. 半小时训练亿级规模知识图谱,亚马逊这个 AI 框架要火!