【发布时间】:2018-02-13 01:50:23
【问题描述】:
在使用 C# 进行开发时,您有许多使用相同代码的类,您可以依赖另一个类来保存通用信息,从而更容易修改这些类。
我想知道 PHP 中是否有类似的东西?
class Dog extends Animal {
private $animalManager
public function __construct(AnimalManager $animalManager) {
$this->animalManager = $animalManager;
}
}
class Cat extends Animal {
private $animalManager
public function __construct(AnimalManager $animalManager) {
$this->animalManager = $animalManager;
}
}
class Fish extends Animal {
private $animalManager
public function __construct(AnimalManager $animalManager) {
$this->animalManager = $animalManager;
}
}
class Animal {
// Nothing, yet...
}
C# 允许您做的是,以某种方式将 $animalManager 和构造函数赋值存储在“Animal”类中,如果您需要更改它,请将其固定在 1 个位置。
【问题讨论】:
-
PHP 做同样的事情。将公共代码放在
Animal的构造函数中,在子类中调用parent::__construct()。 -
阅读 PHP OOP 教程,它应该解释如何使用子类。
-
你确定你说的是泛型吗?也许继承?
标签: php oop inheritance