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 に答える