PHP で抽象クラスのプロパティを定義する方法はありますか?
abstract class Foo_Abstract {
abstract public $tablename;
}
class Foo extends Foo_Abstract {
//Foo must 'implement' $property
public $tablename = 'users';
}
ベストアンサー1
プロパティを定義するものはありません。
プロパティは初期化時にメモリ内に予約されるデータのコンテナであるため、宣言することしかできません。
一方、関数は定義されずに(関数本体が欠落して)宣言(型、名前、パラメータ)できるため、抽象化できます。
「抽象」は、何かが宣言されているが定義されていないことを示すだけなので、使用する前に定義する必要があります。定義しないと役に立たなくなります。