2

以下のオブジェクトを参照してください。

interface IMedia
{
    public function getThemed();
    public function getDownloadLink();
}

class Video implements IMedia
{
    public function getThemed() {}
    public function getDownloadLink() {}
}

次のような一般的な属性がある場合:

public $size;
public $uploadedDate;
public $hitCounts;

IMedia に追加できますか? それとも、その場所で抽象クラスを使用することをお勧めしますか?

4

2 に答える 2

3

@Muneer

まず無理です。インターフェイスはこれを許可しません。次のようなことをお勧めします。

interface IMedia {

}

abstract class AbstractMedia implements IMedia {
  public $property = "value";
}
于 2012-06-13T06:16:58.303 に答える
0

もちろん、一般的には、できるだけ抽象的になりたいと思うでしょう。したがって、アクセサー/ミューテーターだけの型キャストを避けるために、アクセサー/ミューテーターは完全に理にかなっています。プロパティの実装のためだけに抽象クラスを導入することができます。

于 2012-06-13T06:15:07.093 に答える