4

私はちょうどオブジェクト指向プログラミングを学んでいて、これが私に与えられた課題です:

「書籍の在庫番号、著者、タイトル、価格、およびページ数を保持する Book という名前のクラスを設計します。すべてのデータ ファイルを設定するメソッドと、各データ フィールドの値を出力する別のメソッドを含めます。クラス図を作成します。クラスを定義する疑似コードを記述します。」

(私は何も知らないので、特定の言語のコードを書いているわけではないことに注意してください) 要求に応じて 5 つの属性を作成しました。


-stockNumber: num
-price: num
-pageCount: num
-author: string
-title: string

次に、すべてのデータを一度に設定する単一のメソッドを作成する必要があります。これが私をつまずかせているものです。

これを1つの方法で処理する一般的な方法はありますか? または私の先生がタイプミスをしたのですか?

4

1 に答える 1

4

すべてのデータ フィールドを一度に設定するメソッドは、コンストラクターである可能性が最も高く、UML では、クラスと同じ名前 (および必要なすべての引数を含む) の操作であり、戻り値の型はありません。例については、を参照してください。この PDF の最初の図: http://cs.nyu.edu/courses/spring10/V22.0101-003/CircleUML.pdf

[コンストラクター] は、使用する新しいオブジェクトを準備し、多くの場合、コンストラクターが必要なメンバー変数を設定するために使用するパラメーターを受け入れます

クラスは複数のコンストラクタを持つことができます。あなたのユースケースを考えると(私が推測する本の在庫管理アプリケーションのコンテキストで)、オブジェクトBookがインスタンス化時に5つの属性すべてを必要とするのは合理的です。

ただし、コンストラクターがすべての属性を設定する必要はありません。反対に、いくつかのフレームワーク (JavaBeans など) では、引数を指定せずにデフォルトのコンストラクターを明示的に必要とします。

于 2013-09-09T22:21:53.630 に答える