オブジェクト指向のデザインパターン原則04リヒター置換原則(LSP)

リヒターの置換原則(リスコフの置換原則、LSPは)意味:継承は、スーパークラス保有物件はまだサブクラスに設定されていることを確認する必要があります。

人気の用語はこれです:サブクラスは親クラスの機能を拡張することができますが、元の関数の親クラスを変更することはできません。サブクラスが新しい機能を完了しますが、親クラスのメソッドをオーバーライドしないようにしようとする新しいメソッドを追加することに加えて、親クラスを継承します。言い換えれば。

あなたが親クラスのメソッドをオーバーライドする必要があるときは、サブクラス抽象クラスやインタフェースの二つのクラスより高いレベルの共通の遺産を「強化」することができます。関連への進出によって、二つのクラス間の関係。例を以下に説明します。

ツバメ(ツバメ)は飛ぶ鳥で、BrownKiwi(キウイ)は飛べない鳥です。

オーバーライドはBrownKiwiクラス()メソッドをsetFlySpeed場合、高速飛行速度が0に設定され、その後、それを呼び出すと、「ゼロによる除算例外」BrownKiwiオブジェクトをgetFlyTImeを与えます

リヒター置換原理はBrownKiwiを高め、ツバメとBrownKiwiは、より高いレベルのクラスを継承できるようになるソリューションを提供し、多くの方法がありますが、このような問題を回避したいです。図は次のとおりです。

この例では、典型的ではないかもしれないが、それはいくつかの説得力を欠いています。私はデザインパターンの原則をと思うが、実際の状況に基づいて合理的な設計を行うために、実際の開発作業中、または地域の状況に、方向性を示唆しています。

 

おすすめ

転載: www.cnblogs.com/asenyang/p/11760265.html