与えられたシナリオのためにADTを作成することを尋ねる私の試験用紙に質問があります。そしてそれは具体的な実装の代わりに抽象的なメソッドを書くことだけを求めます。
学校の時間割を表す必要がありました。学校は、教えられた各科目に割り当てられている期間を追跡する必要があります。対象は学年によって異なる可能性があり、これらの対象は時間とともに変化する可能性があります。
ADTメソッドの内容を理解できません。そして、そのADTをタイムテーブルクラスで使用する方法を知りたいです。
一般にADTの定義は、ユーザーの要件を、プログラミング言語(この場合はjava)で表現できる動作の仕様に変換する行為として扱うことができます。
だからここに行きます:
明らかに、タイムテーブルを定義するためにいくつかの抽象化が必要なので、これを「表現する」ためのクラス/インターフェースを作成します。
この抽象化の動作は、このインターフェイスまたはクラスにメソッドを追加することによって表現する必要があります。ユーザーの要件を読んでください(この場合、「ユーザー」はあなたの先生です:)):
学校は、教えられた各科目に割り当てられている期間を追跡する必要があります。
わかりました、「教えられた主題」をどのように表現しますか?おそらくそれはそれ自身のクラスまたは多分それだけの文字列に値するでしょう。または、各被験者に識別番号がありますか?それはあなたのデザイン次第です。では、ピリオドとは何ですか?それはいくつかのクラスによって識別されていPeriod
ますか、それともstartTime
/のペアであるとモデル化していendTime
ますか?(ヒント、Javaでは同じメソッドから2つのオブジェクトを一度に返すことはできません)これらすべての質問に対する答えがある場合、メソッドを定義できます件名を受け入れ、期間を返します。このメソッドをタイムテーブルの抽象化に追加します。動作を指定しました!
2番目の文は、件名がどのように見えるかを説明するための要件です。
対象は学年によって異なる可能性があり、これらの対象は時間とともに変化する可能性があります。
これで、被験者にはおそらく成績が含まれている必要があり、被験者は時間とともに変化します。この点が本当に明確でない場合(私にははっきり言っていないが、エクササイズドキュメントで追加の説明を求める/見つけることができると思う)とはいえ、いずれにしても、設計時に行う必要があるプロセスを説明したと思いますADT。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加