前の例では標準的な方法の使用を示しましたが、実際的なシナリオではありませんでした。
Series インターフェイスは広く使用されており、多くのプログラムがそれに依存していました。
Series のいくつかの実装に、シリーズの次の n 要素を含む配列を返すメソッドが追加されていることが判明しました。
getNextArray(int n) メソッドを使用して Series インターフェイスを改善することが決定されました。n は取得する要素の数を指定します。
標準メソッドの前にこのメソッドを追加すると、それを定義していない既存のコードが壊れてしまいます。
標準メソッドを使用すると、既存のコードに問題を引き起こすことなく、新しいメソッドを Series インターフェイスに追加できます。
すべての状況で機能する実装を提供できない場合、インターフェイスに追加された標準メソッドを使用するとエラーが報告されることがあります。
これらのデフォルトのメソッドはオプションのコードを定義します。
場合によっては、どのような状況でも機能するようにデフォルトのメソッドを定義できます。
getNextArray() メソッドは一例であり、Series インターフェイスですでに必要とされている getNext() メソッドを使用して実装できます。
標準メソッド getNextArray().
標準の getNextArray() メソッドは、元の Series 仕様にすでに存在する getNext() メソッドを使用して実装されます。
Series を実装するクラスは、メソッドをオーバーライドすることなく getNextArray() を使用できます。
getNextArray().
クラスは、必要に応じて getNextArray() の独自の実装を提供できます。
標準的な方法の利点:
既存のコードを無効にすることなくインターフェースを進化させることができます。
プレースホルダーの実装を必要とせずにオプションの機能を提供します。
getNextArray() の場合、Series の実装にメソッドが必要ない場合、プレースホルダーの実装を提供する必要がないため、コードがよりクリーンになります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3