当前位置:首页 > PHP

php实现继承

2026-02-14 07:21:01PHP

PHP 实现继承的方法

在 PHP 中,继承是通过 extends 关键字实现的。子类可以继承父类的属性和方法,并可以扩展或重写它们。

php实现继承

基本语法

class ParentClass {
    // 父类属性和方法
}

class ChildClass extends ParentClass {
    // 子类属性和方法
}

示例代码

class Animal {
    public $name;

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

    public function eat() {
        echo $this->name . " is eating.\n";
    }
}

class Dog extends Animal {
    public function bark() {
        echo $this->name . " is barking.\n";
    }
}

$dog = new Dog("Buddy");
$dog->eat();  // 输出: Buddy is eating.
$dog->bark(); // 输出: Buddy is barking.

方法重写

子类可以重写父类的方法,以实现不同的行为。

php实现继承

class Cat extends Animal {
    public function eat() {
        echo $this->name . " is eating fish.\n";
    }
}

$cat = new Cat("Whiskers");
$cat->eat(); // 输出: Whiskers is eating fish.

访问父类方法

使用 parent:: 关键字可以调用父类的方法。

class Bird extends Animal {
    public function eat() {
        parent::eat();
        echo $this->name . " is also pecking.\n";
    }
}

$bird = new Bird("Tweety");
$bird->eat();
// 输出:
// Tweety is eating.
// Tweety is also pecking.

注意事项

  • PHP 不支持多重继承,一个类只能继承一个父类。
  • 使用 final 关键字可以防止类被继承或方法被重写。
    
    final class FinalClass {
      // 不能被继承
    }

class AnotherClass { final public function finalMethod() { // 不能被重写 } }

标签: php
分享给朋友:

相关文章

php实现博客

php实现博客

使用PHP实现博客系统 数据库设计 创建数据库表存储博客文章和用户信息。常见的表包括posts(文章)和users(用户)。 CREATE TABLE users ( id INT AUTO…

php实现下载

php实现下载

PHP实现文件下载 使用PHP实现文件下载可以通过设置HTTP头部信息强制浏览器下载文件而非直接打开。以下是几种常见的方法: 方法一:直接输出文件内容 $file_path = 'path/to/…

php 队列的实现

php 队列的实现

PHP 队列的实现方法 使用数据库实现队列 创建一个数据表存储队列任务,包含任务ID、状态、创建时间等字段。通过SQL语句实现任务的入队和出队操作。 // 入队操作 INSERT INTO queu…

php数组实现

php数组实现

PHP 数组的基本实现 PHP 数组是一种非常灵活的数据结构,可以存储多个值,并且支持多种类型的键(整数或字符串)。PHP 数组实际上是有序映射(ordered map),可以看作是列表(vector…

php实现域名

php实现域名

PHP实现域名操作的方法 获取当前域名 使用$_SERVER['HTTP_HOST']可以获取当前访问的域名: $currentDomain = $_SERVER['HTTP_HOST']; ech…

排序算法 php实现

排序算法 php实现

以下是用PHP实现的常见排序算法,每种算法均附示例代码和简要说明: 冒泡排序 通过重复比较相邻元素并交换位置实现排序: function bubbleSort($arr) { $n…