1

虽然我已经为 PHP 开发对象已有一段时间了,但抽象类对我来说还是有些新意。根据我的理解,当我想定义我希望自己或其他开发人员遵循的方法列表时,我会使用抽象类,同时还提供一些基础方法来构建。

然而,似乎没有办法在抽象类中定义属性,我觉得这很奇怪。采取以下代码:

abstract class Gateway {

    abstract public function process();

    public function set_gateway_key( $key ) {

          $this->key = $key;

    }

}

此类密钥是您通常希望限制访问以进行某种验证的东西。您可能还可以想象其他一些场景。但是,您不得不依赖扩展此抽象类的开发人员来设置此访问修饰符。

我错过了什么吗?或者没有办法做到这一点?

4

1 回答 1

6

抽象类可以有属性。

abstract class AbstractClass {
    protected $key;

    public function setKey($key) {
        $this->key = $key;
    }
}
于 2013-09-13T21:19:06.187 回答