PHP抽象类使用方法!PHP抽象类作用及实例代码!在php中抽象类是类的一种类型,抽象类和普通类相似,抽象类中可以包含有普通类,同时抽象类中也有成员变量、成员方法,当然抽象类和普通的类还是有一定的区别的,那么PHP抽象类如何使用?PHP抽象类有什么作用?PHP抽象类和普通类又有什么区别呢?
PHP抽象类使用方法
在我们定义一个PHP抽象类和抽象类的方法的时候,我们需要在类和类方法前面加上abstract关键字来修饰,这样我们就定义了一个抽象类。同时我们创建一个抽象类的时候,如果抽象类中包含一个抽象方法,那么必须在子类中去实现这个抽象方法,以下是抽象类的定义语法:
abstract class objectname{
abstract function function_name();
}
在我们使用抽象类的时候,我们要注意以下几点:
- 如果抽象类中包含一个抽象方法,那么必须在子类中去实现这个抽象方法;
- 抽象类不需要实例化;
- 抽象类中的抽象方法只有方法名,没有方法体;
- 抽象类只能当做是父类来使用,不能当做是子类,当我们在子类调用PHP抽象类的时候,子类中使用抽象类的抽象方法会直接覆盖抽象类中的抽象方法,故上面说的抽象类中的抽象方法只用定义抽象方法名,不用定义抽象方法体。
PHP抽象类有什么作用
PHP中抽象类是不完整的,它只能用作基类(父类)。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色,我们可以在派生类(子类)中继承基类(父类)中的抽象方法。
PHP抽象类和普通类的区别
在文章开头提到了PHP抽象类和普通类虽然有着相似的地方,但是还是有一些不同之处的,下面来看看PHP抽象类和普通类有哪些区别:
- PHP抽象类必须使用abstract关键字来定义,而普通类却没有限制;
- PHP抽象类不用实例化,而普通类却需要实例化;
- 如果抽象类中包含一个抽象方法,那么必须在子类中去实现这个抽象方法,而普通类也没有此规定;
- PHP抽象类中的抽象方法只有方法名没有方法体,而普通类如果有成员方法则需要方法体;
- PHP抽象类只能当做是基类(父类)来使用,而普通类则既可以当做基类(父类)又可以当做派生类(子类)来使用;
- PHP中含有抽象方法的类,一定是抽象类,而不是普通类。
以上就是在学习了PHP抽象类之后简单的总结的PHP抽象类与PHP普通类之间的区别。
PHP抽象类使用实例代码
<?php
//创建一个抽象父类
abstract class prize{
abstract function best($forword,$midfield,$defender,$goalkeeper);
}
//创建一个serie_a子类并继承抽象父类中的抽象方法best
class serie_a extends prize{
function best($forword, $midfield, $defender, $goalkeeper)
{
echo '意甲联赛最佳前锋是:'.$forword.'<br>';
echo '意甲联赛最佳中场是:'.$midfield.'<br>';
echo '意甲联赛最佳后卫是:'.$defender.'<br>';
echo '意甲联赛最佳门将是:'.$goalkeeper.'<br>';
}
}
//创建一个la_liga子类并继承抽象父类中的抽象方法best()
class la_liga extends prize{
function best($forword, $midfield, $defender, $goalkeeper)
{
echo '西甲联赛最佳前锋是:'.$forword.'<br>';
echo '西甲联赛最佳中场是:'.$midfield.'<br>';
echo '西甲联赛最佳后卫是:'.$defender.'<br>';
echo '西甲联赛最佳门将是:'.$goalkeeper.'<br>';
}
}
//实例化类$serie_a,并传递参数;
$serie_a = new serie_a();
echo $serie_a->best('莱奥','布罗左维奇','布雷默','迈尼昂');
echo '<hr>';
//实例化类$la_liga,并传递参数;
$la_liga = new la_liga();
echo $la_liga->best('本泽马','卡塞米罗','卡瓦哈尔','布努');
?>
本文通过对PHP抽象类使用方法、PHP抽象类有什么作用、PHP抽象类和普通类的区别及一个PHP抽象类使用实例代码的记载,层次分明的记载了PHP抽象类如何使用,后面浩沐资源网博客将继续记载更多关于PHP面向对象的学习笔记。