[オブジェクト向けプログラミング入門-インフラストラクチャ]継承ではなくアセンブリ
2313 ワード
継承は、親の機能を利用して再利用および拡張する方法です.
→機能の継承による不具合
親を変更できません
親変更の影響は、階層に基づいて子に影響します.
変更が正しくない場合、すべてのサブクラスが正常に動作しない可能性があります.
クラスの不要な成長
誤用
は、より複雑な機能 を提供するために複数のオブジェクトを組み合わせる.必要に応じてアセンブリまたはオブジェクト(通常のフィールドで他のオブジェクトを参照) を作成/取得する.
継承ではなくアセンブリを継承する前に、 がアセンブリできないかどうかを確認します.が真のサブタイプである場合にのみ使用される
→機能の継承による不具合
親を変更できません
親変更の影響は、階層に基づいて子に影響します.
変更が正しくない場合、すべてのサブクラスが正常に動作しない可能性があります.
クラスの不要な成長
誤用
継承の欠点を解決→組み立てる
くみたて
public class FlowController {
private Encryptor encryptor = new Encryptor(); // 필드로 조립
public void process() {
...
byte[] encryptedData = encryptor.encrypt(data);
...
}
}
암호화 기능이 필요하다면 암호화 기능을 제공하는 클래스를 상속받아서 구현하는 것이 아니고
필드로 객체를 참조하여 조립
継承ではなくアセンブリ
Reference
この問題について([オブジェクト向けプログラミング入門-インフラストラクチャ]継承ではなくアセンブリ), 我々は、より多くの情報をここで見つけました https://velog.io/@sung_hyuki/객체-지향-프로그래밍-입문-인프런-상속보단-조립テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol