虽然我一直在为PHP开发对象已有一段时间了,但抽象类对我来说有点新鲜。根据我的理解,当我想要定义我希望自己或其他开发人员遵循的方法列表时,我会使用抽象类,同时还提供一些基础方法来构建。
似乎没有办法在抽象类中定义属性,但我觉得很奇怪。请使用以下代码:
abstract class Gateway {
abstract public function process();
public function set_gateway_key( $key ) {
$this->key = $key;
}
}
此类密钥是您通常希望限制访问以便运行某种验证的密钥。您可以想象一些其他场景。但是,您不得不依赖开发人员扩展此抽象类来设置此访问修饰符。
我错过了什么吗?或者没有办法做到这一点?
答案 0 :(得分:6)
抽象类可以有属性。
abstract class AbstractClass {
protected $key;
public function setKey($key) {
$this->key = $key;
}
}