我有个小问题。
我有三门课:
Class Animal {
public $dog;
function __construct() {
$this->dog = new Dog();
}
}
Class Dog {
public $scream;
function __construct() {
$this->scream = new Scream();
}
}
Class Scream {
public $scream;
function __construct() {
}
public haaa(){
return 'hello World';
}
}我想得到haaa()函数..。使用
$animal = new Animal();
$animal->haaa();如果函数haaa()在Dog类中。效果很好..。我们有可能有深度封装的限制吗?
谢谢!
发布于 2014-02-07 21:08:53
根据您的例子,如下所示:
$animal->dog->haaa();
但是,最好将设计更改为使Dog extends Animal
class Dog extends Animal {
public function scream(){
// do stuff
}
}
$dog = new Dog();
$dog->scream();这更有语义,因为狗属于动物的“王国”。
https://stackoverflow.com/questions/21637756
复制相似问题