[英]How can I get CodeIgniter 2.1.4 to load my extended Controller Class?
[英]How can I get a var in my extended class?
我希望有各种扩展情感类的类,每个类都定义了情绪,因此可以在扩展类中使用。
我的问题是,如何在扩展类中获得心情变量,这是到目前为止的内容:
这是我的课:
class Happy extends Emotions{
protected $mood = 'happy';
}
这是它的扩展:
class Emotions {
public function __construct(){
var_dump($this->mood);
die();
}
另一个问题是,这是否是解决此问题的最佳方法? 我想拥有一组核心方法,但是要为该类更改各种变量,因此我的情感类拥有所有方法,然后我有很多用语,例如“快乐”,“悲伤”,“生气”扩展它并设置特定的变量。
您可以在父类中定义属性,然后在子类中对其进行修改。 这样,您可以在父类上访问它。
class Emotions {
protected $mood = "";
public function setMood($mood)
{
$this->mood = $mood;
}
}
关于此方法是否可行的问题,很大程度上取决于您要实现的目标。 如果您的孩子情绪类别只是一组属性,则可能不是,因为您不会为不同的情绪添加不同的功能。
另一方面,如果您想为每种情感添加特定的功能,但同时所有情感共享某些功能,则可以创建具有这些通用功能的Parent类,这样就不必重复代码了。
例如:
class Emotion {
protected $mood = "";
public function express(){
echo "I am " . $this->mood;
}
}
class Happy extends Emotion {
protected $mood = "happy";
public function dance(){
echo "Oh! Yeah!";
}
}
class Sad extends Emotion {
protected $mood = "sad";
public function cry(){
echo "buaaah!";
}
}
如您所见,所有的情感都有表达的方法,但是快乐可以跳舞,悲伤可以哭泣。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.