(资料图片)
5. 多态
多态是面向对象编程中的另一个重要特性,它可以让不同的对象使用相同的方法,但是表现出不同的行为。在PHP中,多态可以通过接口和抽象类来实现。
接口是一种定义规范的抽象类型,它只包含方法的声明,不包含实现。类可以实现一个或多个接口,必须实现接口中声明的所有方法。接口的语法如下:
interface 接口名 { // 方法声明}下面是一个接口的示例:
interface Shape { public function getArea(); public function getPerimeter();}在这个示例中,我们定义了一个名为Shape的接口,它包含了两个方法getArea()和getPerimeter(),分别用于计算形状的面积和周长。
抽象类是一种包含抽象方法的类,抽象方法只包含方法的声明,不包含实现。子类必须实现抽象类中的所有抽象方法,才能被实例化。抽象类的语法如下:
abstract class 抽象类名 { // 抽象方法}下面是一个抽象类的示例:
abstract class Animal { protected $name; // 动物名称 public function __construct($name) { $this->name = $name; } abstract public function makeSound(); // 抽象方法}在这个示例中,我们定义了一个名为Animal的抽象类,它包含了一个属性$name和一个构造函数__construct(),以及一个抽象方法makeSound()。子类必须实现makeSound()方法,才能被实例化。
下面是一个多态的示例:
class Circle implements Shape { private $radius; // 圆半径 public function __construct($radius) { $this->radius = $radius; } public function getArea() { return pi() * $this->radius * $this->radius; } public function getPerimeter() { return 2 * pi() * $this->radius; }}class Rectangle implements Shape { private $width; // 矩形宽度 private $height; // 矩形高度 public function __construct($width, $height) { $this->width = $width; $this->height = $height; } public function getArea() { return $this->width * $this->height; } public function getPerimeter() { return 2 * ($this->width + $this->height); }}function printShapeInfo(Shape $shape) { echo "Area: " . $shape->getArea() . "
"; echo "Perimeter: " . $shape->getPerimeter() . "
";}$circle = new Circle(5);$rectangle = new Rectangle(3, 4);printShapeInfo($circle);printShapeInfo($rectangle);在这个示例中,我们创建了一个Circle类和一个Rectangle类,它们都实现了Shape接口。我们还定义了一个函数printShapeInfo(),用于打印形状的面积和周长。在主程序中,我们创建了一个圆形和一个矩形,并分别调用了printShapeInfo()函数,输出了它们的面积和周长。
上一篇:深能运输与中远海散运携手奋进 创电煤运输合同历史新高-微动态
下一篇:最后一页
X 关闭
-
关注:PHP面向对象-类和对象的定义(五)
多态是面向对象编程中的另一个重要特性,它可以让不同的对象使用相同的方法,但是表现出不同的行为。在PHP
-
深能运输与中远海散运携手奋进 创电煤运输合同历史新高-微动态
证券时报e公司讯,据深圳能源消息,4月25日下午,深能运输赴中远海运散货运输有限公司广州总部进行业务交流
-
资讯推荐:大连老虎滩海洋公园五一活动2023
2023年大连老虎滩海洋公园五一活动汇总特色活动一“带着抖音游虎滩”活动,引导到园游客,拍摄景区视频并在
-
【天天聚看点】这届消费者 口味真的变了
疫情后的第一个春天,中国经济正在加速复苏。今年一季度,我国国内生产总值同比增长4 5%,市场预期明显改善
-
2023年五一呼和浩特市动物园周边道路临时交通管制 环球热议
2023年五一呼和浩特市动物园周边道路临时交通管制随着“五一”假期到来,去往呼和浩特市动物园的游客将大量
-
小肚子胀气放屁多是什么原因-小肚子胀气疼怎么办
1、气与胀痛,是肠胃毛病中相当常见的,有时你只要做作运动、走走路即可,有时却痛得让你在床上打滚,而且
