今天在这里和大家谈谈关于php面向对象中抽象类和抽象方法的内容,简单的来说,php中抽象类是一种不能被实例化的类,只能作为其他类的父类来使用,抽象方法则不能带方法体,下面我们就来看看具体的示例。
面向对象的抽象方法和抽象类:
所有子类必须继承父类的方法,但是继承的时候具有不确定性,必须对父类的方法进行重写,这个时候我们就把这个被重写的方法定义成抽象方法,抽象方法不需要有方法体。这个类也就是抽象abstruct。
抽象类是一种不能被实例化的类,只能作为其他类的父类来使用!
如果一个类中,有一个方法是抽象的,则这个类就是抽象类。
立即学习“PHP免费学习笔记(深入)”;
如果一个类是抽象类,则这个类必须使用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();注意:抽象方法一定不能带方法体!
相关推荐:
以上就是如何理解PHP中抽象类和抽象方法?(附代码)的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
 
                 
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                            Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号