PHP中使用extends关键字实现类的继承,子类可继承父类的public和protected成员;通过方法重写可修改父类行为,final方法不可被重写,结合parent、abstract和interface等机制提升代码复用性与结构清晰度。

PHP代码继承类,简单来说,就是让一个类拥有另一个类的属性和方法,省去重复编写代码的麻烦,提高代码复用性。
直接输出解决方案即可:
PHP中使用
extends
public
protected
<?php
class Animal {
public $name;
protected $age;
private $weight;
public function __construct($name, $age, $weight) {
$this->name = $name;
$this->age = $age;
$this->weight = $weight;
}
public function eat() {
echo "{$this->name} is eating.\n";
}
protected function getAge() {
return $this->age;
}
}
class Dog extends Animal {
public $breed;
public function __construct($name, $age, $weight, $breed) {
parent::__construct($name, $age, $weight); // 调用父类的构造函数
$this->breed = $breed;
}
public function bark() {
echo "{$this->name} is barking.\n";
}
public function getDogAge() {
return $this->getAge(); // 子类可以访问父类的protected方法
}
}
$dog = new Dog("Buddy", 3, 15, "Golden Retriever");
$dog->eat(); // 继承自Animal类
$dog->bark(); // Dog类自身的方法
echo $dog->name . "\n"; // 可以访问父类的public属性
echo "Dog's age: " . $dog->getDogAge() . "\n";
// echo $dog->weight; // 错误:不能访问父类的private属性
?>方法重写(Overriding)是指子类定义一个与父类同名的方法,从而改变父类方法的行为。 要重写父类的方法,只需在子类中定义一个与父类方法签名相同的方法即可。
立即学习“PHP免费学习笔记(深入)”;
<?php
class Animal {
public function makeSound() {
echo "Generic animal sound.\n";
}
}
class Cat extends Animal {
public function makeSound() {
echo "Meow!\n"; // 重写了父类的makeSound方法
}
}
$animal = new Animal();
$cat = new Cat();
$animal->makeSound(); // 输出 "Generic animal sound."
$cat->makeSound(); // 输出 "Meow!"
?>需要注意的是,如果父类方法声明为
final
继承的主要目的是代码重用和扩展。想象一下,如果没有继承,每当你需要创建一个新的类,即使这个类和已有的类有很多相似之处,你也必须从头开始编写所有代码。
继承的优点包括:
除了
extends
parent
parent::__construct()
final
final class MyClass {}final public function myMethod() {}abstract
interface
public
理解这些概念,能更好地利用PHP的继承机制来编写高质量的代码。
以上就是PHP代码怎么继承类_ PHP类继承机制与方法重写步骤的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号