gpt4 book ai didi

php 类扩展 - 具有相同名称的属性/方法好吗?

转载 作者:可可西里 更新时间:2023-11-01 00:27:44 24 4
gpt4 key购买 nike

如果您有一个名为“User”的类和另一个扩展“User”的名为“Admin”的类,并且您希望 Admin 继承 User 的所有属性、方法,例如 __construct 方法除外。

class User {
private $name;

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

class Admin extends User {
private $authorization;

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

这是正确的吗?管理员是否覆盖用户的构造方法?如果扩展类具有相同的方法名称,我认为它是无效的。我是否完全忽略了类扩展的要点?

最佳答案

不是无效的。类继承的一个方面是,您可以覆盖方法并提供另一种实现。

但在你的情况下,我会做

class Admin extends User {
private $authorization;

function __construct($name,$authorization) {
parent::__construct($name);
$this->authorization = $authorization;
}
}

因为您已经在父类中实现了“名称分配”。这是一种更清洁的方法。

关于php 类扩展 - 具有相同名称的属性/方法好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2269544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com