0Pricing
PHP Academy · 课时

继承

使用继承复用代码并扩展功能

继承 是 CoddyKit 上的免费 PHP Academy 课时。 这是第 3 节课,共 5 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 PHP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 PHP Academy 课程共包含 5 节课。

PHP 中的继承

PHP 中的继承

欢迎来到下一课!本课将介绍继承,这是面向对象编程中的核心概念。继承允许您扩展类的功能。让我们开始吧!

继承 — 插图 1

什么是继承

什么是继承

继承是面向对象编程中的一种机制,允许一个类(子类)继承另一个类(父类)的属性和方法。这有助于在编程中复用代码并建立层次结构。

示例:Car 类可以作为 Sedan 类和 SUV 类的父类。

定义继承

定义继承

使用 extends 关键字创建从父类继承的子类。例如:

提示:使用继承可以避免重复编写代码。

<h2>Defining Inheritance</h2>
<p>Use the <code>extends</code> keyword to create a child class that inherits from a parent class. Example:</p>

重写方法

重写方法

子类可以重写父类中的方法,以提供特定功能。例如:

<?php
  class Vehicle {
    public function drive() {
      echo "Driving a generic vehicle.";
    }
  }

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

  $car = new Car();
  $car->drive(); // Outputs: Driving a car.
?>

parent 关键字

父级关键字

在重写的方法中使用 parent 关键字,可以调用父类的方法。例如:

<?php
  class Vehicle {
    public function start() {
      echo "Starting the vehicle.";
    }
  }

  class Car extends Vehicle {
    public function start() {
      parent::start();
      echo " Starting the car engine.";
    }
  }

  $car = new Car();
  $car->start(); // Outputs: Starting the vehicle. Starting the car engine.
?>

继承的优点

继承的优点

继承具有以下优点:

  • 促进代码复用。
  • 建立清晰的类层次结构。
  • 允许子类重写方法,从而实现多态。

受保护成员

受保护成员

继承同样适用于受保护成员。受保护的属性和方法可以由子类访问,但不能在类层次结构之外访问。例如:

要点:使用 protected,可以安全地在父类和子类之间共享成员。

<?php
  class Vehicle {
    protected $fuel;

    public function setFuel($fuel) {
      $this->fuel = $fuel;
    }
  }

  class Car extends Vehicle {
    public function getFuel() {
      return $this->fuel;
    }
  }

  $car = new Car();
  $car->setFuel("Gasoline");
  echo "Fuel: " . $car->getFuel(); // Outputs: Fuel: Gasoline
?>

抽象类

抽象类

抽象类为子类提供基础结构,但其自身不能被实例化。例如:

要点:如果希望强制子类实现某些方法,请使用抽象类。

<?php
  abstract class Vehicle {
    abstract public function start();
  }

  class Car extends Vehicle {
    public function start() {
      echo "Starting the car engine.";
    }
  }

  $car = new Car();
  $car->start(); // Outputs: Starting the car engine.
?>

最终关键字

最终关键字

final 关键字可以阻止进一步继承或重写。例如:

提示:使用 final 可以防止方法或类被扩展。

<?php
  class Vehicle {
    final public function start() {
      echo "Starting the vehicle.";
    }
  }

  class Car extends Vehicle {
    // Cannot override the start method
  }
?>

做得很好

做得很好

恭喜您!您已经了解了 PHP 中的继承,包括如何扩展类、重写方法以及使用抽象类。下一课我们将探索封装和访问修饰符。让我们继续编写代码吧!

继承 — 插图 11

常见问题解答

「继承」课时是免费的吗?

是的 — 「继承」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 PHP Academy 课程的其余内容,请升级到 CoddyKit PRO。 PHP Academy 课程共包含 5 节课。

「继承」这节课中我会学到什么?

使用继承复用代码并扩展功能 你通过在浏览器中直接运行的动手代码来练习 PHP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 PHP Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 PHP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 5 节。

「继承」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 PHP Academy 课中编写并运行代码吗?

能。每节 PHP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. PHP 面向对象编程入门
  2. 定义类和对象
  3. 继承
  4. 封装和访问修饰符
  5. 多态
← 返回 PHP Academy