javaにおける抽象クラスとインターフェースの使い分けについて質問です。
とあるブログを見ていると、次のようなことが書いてありました。
「Javaは、複数の実装を許す型を定義するために抽象クラスとインターフェースの2つの仕組みを提供している。
クラスとインターフェースの違いは以下の2点である。
抽象クラスはいくつかのメソッドに対する実装が許されていて、インターフェースは許されていない。
抽象クラスで定義された型を実装するには、クラスはその抽象クラスのサブクラスでなければならないが、インターフェースの場合には、ルールに従って要求されるメソッドを全て定義しているクラスであれば、クラス階層のどこに位置していても、インターフェースを実装することが許されている。
これにより、抽象クラスとインターフェースは次のように使い分けることが出来る。
抽象クラスは、実装の継承にあたり、主に同一の継承階層に属するクラスに共通する処理を持ったスーパークラスとして定義する。
インタフェースは、仕様の継承にあたり、主に継承階層の異なる複数の型をオブジェクトに持たせるために定義する。」
この文章中で出てくる「型」という言葉がよく理解できません。
「複数の実装を許す型」と「継承階層の異なる複数の型」の型って一体どういう意味なのでしょうか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/03 10:58
2016/08/03 12:21
退会済みユーザー
2016/08/03 13:10
2016/08/03 13:44 編集
退会済みユーザー
2016/08/04 00:09
2016/08/04 01:12
退会済みユーザー
2016/08/04 13:29
2016/08/04 15:17
退会済みユーザー
2016/08/06 05:22