English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
構成はデザイン技術であり、あなたのクラスは他のクラスのインスタンスをあなたのクラスのフィールドとして持つことができます。継承はメカニズムであり、一つのオブジェクトはクラスを拡張することで親オブジェクトの属性と行動を取得することができます。
構成と継承は関連クラスを通じてコードの再利用性を提供します。合成を使用する場合、継承の機能も得られます。以下はその違いです。
順号 | キー | 継承 | 構成 |
---|---|---|---|
1 | 基本的 | 継承は「は」関係です | 構成は「有る」関係です |
2 | コードの再利用 | 継承では、クラスは一つのインターフェースのみを拡張できますので、一つのクラスでしかコードを再利用できません | 私たちは複数のクラスでコードを再利用できます |
3 | 範囲 | 継承はコンパイル時に機能を提供します | 実行時に簡単に合成を実現します |
4 | 最後に | 私たちが最後の授業のコードを再利用することができません | それが最終クラスからコードを再利用することも許可します |
5 | メソッド | それが親クラスの公共メソッドと保護メソッドを公開します | それが公開されません。彼らは公共インターフェースを使用して交信します。 |
class Animal{ String name="Orio"; } class Dog extends Animal{ String type="Dog"; public static void main(String args[]){ Dog p=new Dog(); System.out.println("Name:")+p.name); System.out.println("Type:")+p.type); } }
public class Student { } public class College { private Student student; public College() { this.student = new Student(); } }