抽象类是一种不能被实例化的类,只能作为其它类的父类来使用,抽象类使用abstract关键字来声明
抽象类和普通类相似,包含成员变量和成员方法,区别在于,抽象类至少要包含一个抽象方法。
抽象方法没有方法体,其功能的实现只能在子类中完成。抽象方法也是使用abstract来修饰
abstract function abstactName();
<?php
abstract class CommodityObject{ //抽象类,不能被实例化,只能做为其它类的父类
abstract function service($getName,$price,$num); //抽象方法,抽象方法没有方法体,就是两个大括号
}
class MyBook extends CommodityObject{ //子类
function service($getName,$price,$num){
echo '你购买的商品是'.$getName.'该商品的价格是:'.$price.'元。';
echo '你购买的数量为:'.$num.'本。';
echo '如发现缺页,损坏请在3日内更换。';
}
}
class MyComputer extends CommodityObject{ //子类
function service($getName,$price,$num){
echo '你购买的商品是<span>'.$getName.'</span>该商品的价格是:<span>'.$price.'</span>元。';
echo '你购买的数量为:'.$num.'台';
echo '如发生非人为质量问题,请在3个月内更换。';
}
}
$mybook=new MyBook();
$mybook->service('php从书',25,1000);
echo "<br>";
$mycomputer=new MyComputer();
$mycomputer->service('华为笔记本',3600,500);