php 类 抽象方法,如何理解PHP中抽象类和抽象方法?(附代码)

今天在这里和大家谈谈关于PHP面向对象中抽象类和抽象方法的内容,简单的来说,PHP中抽象类是一种不能被实例化的类,只能作为其他类的父类来使用,抽象方法则不能带方法体,下面我们就来看看具体的示例。

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

所有子类必须继承父类的方法,但是继承的时候具有不确定性,必须对父类的方法进行重写,这个时候我们就把这个被重写的方法定义成抽象方法,抽象方法不需要有方法体。这个类也就是抽象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();

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

代码如下://定义一个名为【交通工具】的类

abstract class Vehicle{

private $name;//名称

private $price;//价格

private $brand;//品牌

abstract function run();

}

class Truck extends Vehicle{

function run(){

echo '卡车在路上跑';

}

}

class Plane extends Vehicle{

public function run(){

echo '飞机在天上飞';

}

}

$plane = new Plane;

$plane->run();

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

相关推荐:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值