我正在查看Should I use multiple classes for game? - 羅伯特皮特的答案。PHP類,繼承,實現
interface Weapons {
public function Fire();
}
class Colt implements Weapons {
function Fire() {
echo 'Fire!';
}
}
abstract class Human implements Colt
{
}
class Sniper extends Human
{
public function __construct()
{
}
}
在「人」我在也許是爲了貫徹落實「武器」而不是小馬,然後在「狙擊手」初始化合適的武器級?
class Sniper extends Human
{
public $weapon;
public function __construct($weapon)
{
$this->weapon = new $weapon;
}
$this->weapon->fire();
}
或類似的東西?我很困惑它是如何工作的。
EXAMPLE 1
class A {
public $class;
__construct() {
$this->class = new $class;
}
hello() {
$this->class->hello();
}
}
class B {
public function hello() {
echo 'hi';
}
}
類人應該'extend',不'implement'類柯爾特。因爲它不是接口 – kravemir
這真的取決於你。如果您正在爲擁有自己的最佳實踐列表的公司工作,那麼您就會問及閱讀文檔。但既然是你的項目,就去做吧。最好的學習方式是犯錯誤。 – Frank