1. ホーム
  2. ジャワ

[解決済み] クラスの "contract "とは何か

2022-03-03 05:43:29

質問

私は本を読んでいます。 Java プログラミング言語 . を説明する章では オーバーライド メソッドに書かれています。

サブクラスで)オーバーライドされたメソッドをスーパークラスでのアクセスより少なくすることは、スーパークラスの契約に違反することになります ...

文章全体としては理解できる。ただ、疑問なのは スーパークラスの契約 ? はどのようなものですか? コントラクト を意味します。 ジャワ クラスは?

解決するには?

Javaクラスの中の契約は、現実世界の契約と似ています。

これは、クラスが特定のメソッド、特定のプロパティ、および特定の動作を公開することについての合意です。

より専門的に、以下より ここで : (太字は私が追加)

<ブロッククオート

もし、あなたが使っているすべてのJavaクラスが、あなたのクラスも含めて は、その約束に従ったものでしょうか?実際、次のようなことができたらいいと思いませんか? あるクラスが何を約束しているのか、実際に正確に知っているのでしょうか?もしあなたがそう思うなら、次の記事を読んでください。 で [...]...

契約による設計

デザイン・バイ・コントラクト(DBC)は、ソフトウェア開発手法の一つです。 システムのすべての構成要素を保証することで、高品質のソフトウェアを実現します。 期待に応えます。DBCを使用する開発者は、以下のように指定します。 コンポーネントの契約は、コンポーネントのインターフェースの一部として行われます。 コントラクト は、そのコンポーネントがクライアントに何を期待し、クライアントがどのような に期待する。