1

カスタム要件に合わせて拡張する抽象クラスを開発したいと思います。ほとんどのメソッドは、この基本クラスで完全に実装されます。ただし、子クラスが定義する必要があるメンバーに設定された値に大きく依存します。「抽象」クラスと言っている理由は、クラスのエクステンダーにメンバーの値を定義させたいからです。これは可能ですか?

メソッドを抽象的に定義し、エクステンダーにそれらを実装させることができることを私は知っています。メンバーについてはわかりません。さらに、これは優れた設計手法ですか?

例:

abstract class foo_bar
{
    // I want child class to define these
    private $member1 = 0;
    private $member2 = 0;
    private $member3 = 0;

    // Child class and instances can access this
    public function foo()
    {
        return 'foo';
    }

    // Child class must implement this
    abstract function bar();
}
4

1 に答える 1