【问题标题】:Access modifiers for properties within abstract classes抽象类中属性的访问修饰符
【发布时间】:2013-09-18 16:10:47
【问题描述】:

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

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

abstract class Gateway {

    abstract public function process();

    public function set_gateway_key( $key ) {

          $this->key = $key;

    }

}

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

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

【问题讨论】:

  • 对我来说很好用,你使用的是什么版本的 PHP?发了quick test

标签: php oop abstract-class access-modifiers


【解决方案1】:

抽象类可以有属性。

abstract class AbstractClass {
    protected $key;

    public function setKey($key) {
        $this->key = $key;
    }
}

【讨论】:

  • @dev-null-dweller 谢谢 - 好笑我在谈论抽象类时没有把“抽象”放在课堂上!!!
  • 嗯,你有它。我想我应该先尝试一下。谷歌并不总是最好的答案...
  • 如果这回答了您的问题,请单击 UP DOWN 投票箭头旁边的复选 :-)
  • 是的,我必须等待一段时间才能做到。我找到你了,哈哈
猜你喜欢
  • 2012-11-14
  • 2010-09-20
  • 2018-06-26
  • 2013-03-09
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 2019-04-27
  • 2014-03-06
相关资源
最近更新 更多