当前位置:首页 > PHP

php 实现多态

2026-04-03 00:09:51PHP

PHP 实现多态的方法

多态是面向对象编程的核心概念之一,允许不同类的对象对同一消息做出响应。PHP 通过继承、接口和抽象类实现多态。

通过继承实现多态

继承是多态的基础,子类可以重写父类的方法,实现不同的行为。

php 实现多态

class Animal {
    public function makeSound() {
        echo "Animal sound";
    }
}

class Dog extends Animal {
    public function makeSound() {
        echo "Bark";
    }
}

class Cat extends Animal {
    public function makeSound() {
        echo "Meow";
    }
}

$animals = [new Dog(), new Cat()];
foreach ($animals as $animal) {
    $animal->makeSound();
}

通过接口实现多态

接口定义了一组方法,任何实现接口的类必须实现这些方法,从而实现多态。

interface Shape {
    public function area();
}

class Circle implements Shape {
    private $radius;

    public function __construct($radius) {
        $this->radius = $radius;
    }

    public function area() {
        return pi() * pow($this->radius, 2);
    }
}

class Square implements Shape {
    private $side;

    public function __construct($side) {
        $this->side = $side;
    }

    public function area() {
        return pow($this->side, 2);
    }
}

$shapes = [new Circle(5), new Square(4)];
foreach ($shapes as $shape) {
    echo $shape->area() . "\n";
}

通过抽象类实现多态

抽象类可以包含抽象方法和具体方法,子类必须实现抽象方法,从而实现多态。

php 实现多态

abstract class Vehicle {
    abstract public function drive();
}

class Car extends Vehicle {
    public function drive() {
        echo "Driving a car";
    }
}

class Bike extends Vehicle {
    public function drive() {
        echo "Riding a bike";
    }
}

$vehicles = [new Car(), new Bike()];
foreach ($vehicles as $vehicle) {
    $vehicle->drive();
}

使用类型提示实现多态

PHP 的类型提示可以确保传入的对象实现特定接口或继承特定类,从而保证多态的正确性。

function printArea(Shape $shape) {
    echo $shape->area() . "\n";
}

printArea(new Circle(5));
printArea(new Square(4));

动态方法调用实现多态

PHP 允许动态调用方法,可以通过变量存储方法名并调用。

class Printer {
    public function printText($text) {
        echo $text;
    }
}

$printer = new Printer();
$method = 'printText';
$printer->$method("Hello, World!");

通过以上方法,PHP 可以实现灵活的多态性,使代码更具扩展性和可维护性。

标签: 多态php
分享给朋友:

相关文章

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form action=…

php实现

php实现

PHP 实现的基本方法 PHP 是一种服务器端脚本语言,广泛用于 Web 开发。以下是 PHP 实现的一些常见方法。 变量与数据类型 PHP 变量以 $ 开头,支持多种数据类型: $nam…

php 实现文件下载

php 实现文件下载

实现文件下载的基本方法 使用 PHP 实现文件下载的核心是通过设置 HTTP 头部信息,强制浏览器将文件作为附件下载而非直接显示。以下是一个基础实现示例: $file_path = '/path/t…

php实现的进度条

php实现的进度条

PHP 实现的进度条方法 在 PHP 中实现进度条通常可以通过命令行脚本(CLI)或 Web 页面两种方式完成。以下是几种常见的实现方法: 命令行进度条 使用 PHP CLI 实现进度条,可以通过不…

php实现支付宝支付

php实现支付宝支付

支付宝支付集成步骤 准备工作 在开始集成支付宝支付前,确保已注册支付宝开放平台账号并完成企业实名认证。创建应用后获取APPID、应用私钥和支付宝公钥。 配置支付宝SDK 通过Composer安装支付…

php 路由实现的

php 路由实现的

PHP 路由实现方法 基于原生 PHP 实现路由 创建一个简单的路由解析器,通过解析 URL 路径来调用对应的控制器或函数。 // 定义路由表 $routes = [ '/' => '…