私はこれを github でよく見かけますが、これらの関係での利点、さらにはインターフェースの使用さえも見落としています。
状況: ライブラリには、Article
abstract と宣言され、拡張されるはずの基本クラスがあります。ArticleInterface
基本的に実装する理由は次のとおりです。
interface ArticleInterface
{
// some getter
// some setter
// getter...
// setter....
// etc...
}
このセットアップでインターフェイスの使用が見当たりませんか? これらのゲッター/セッターとプロパティが既に定義されているため、抽象クラスだけでは十分ではありません(インターフェースを実装しています)。ここで Interface が行う唯一のことは、そのポイントであるはずのないプロパティ宣言を強制することですよね?