Javaで抽象データ型(ADT)を設計する方法は?

エンターテイメント:

与えられたシナリオのためにADTを作成することを尋ねる私の試験用紙に質問があります。そしてそれは具体的な実装の代わりに抽象的なメソッドを書くことだけを求めます。

学校の時間割を表す必要がありました。学校は、教えられた各科目に割り当てられている期間を追跡する必要があります。対象は学年によって異なる可能性があり、これらの対象は時間とともに変化する可能性があります。

ADTメソッドの内容を理解できません。そして、そのADTをタイムテーブルクラスで使用する方法を知りたいです。

Mark Bramnik:

一般にADTの定義は、ユーザーの要件を、プログラミング言語(この場合はjava)で表現できる動作の仕様に変換する行為として扱うことができます。

だからここに行きます:

  1. 明らかに、タイムテーブルを定義するためにいくつかの抽象化が必要なので、これを「表現する」ためのクラス/インターフェースを作成します。

  2. この抽象化の動作は、このインターフェイスまたはクラスにメソッドを追加することによって表現する必要があります。ユーザーの要件を読んでください(この場合、「ユーザー」はあなたの先生です:)):

学校は、教えられた各科目に割り当てられている期間を追跡する必要があります。

わかりました、「教えられた主題」をどのように表現しますか?おそらくそれはそれ自身のクラスまたは多分それだけの文字列に値するでしょう。または、各被験者に識別番号がありますか?それはあなたのデザイン次第です。では、ピリオドとは何ですか?それはいくつかのクラスによって識別されていPeriodますか、それともstartTime/のペアであるとモデル化していendTimeますか?(ヒント、Javaでは同じメソッドから2つのオブジェクトを一度に返すことはできません)これらすべての質問に対する答えがある場合、メソッドを定義できます件名を受け入れ、期間を返します。このメソッドをタイムテーブルの抽象化に追加します。動作を指定しました!

2番目の文は、件名がどのように見えるかを説明するための要件です。

対象は学年によって異なる可能性があり、これらの対象は時間とともに変化する可能性があります。

これで、被験者にはおそらく成績が含まれている必要があり、被験者は時間とともに変化します。この点が本当に明確でない場合(私にははっきり言っていないが、エクササイズドキュメントで追加の説明を求める/見つけることができると思う)とはいえ、いずれにしても、設計時に行う必要があるプロセスを説明したと思いますADT。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C99:動的割り当てなしで抽象データ型を設計することは可能ですか?

分類Dev

Pythonでsteinhaus-johnson-trotter(順列)アルゴリズムを実装するために使用される抽象データ型(ADT)は何ですか?

分類Dev

抽象型でデータを保存する方法は?データをsql_variantデータ型として保存するのは正しいですか?

分類Dev

複数の条件で値を計算する方法とデータベースを設計する方法は?

分類Dev

データを参照するデータ駆動型設計

分類Dev

ansi Cで抽象データ型を作成するための標準的な方法はありますか?

分類Dev

Denodo:varcharデータ型を集計する方法は?

分類Dev

行列を抽象データ型で出力する関数

分類Dev

抽象型でマージを使用する方法は?

分類Dev

typescriptでカスタムデータ型を作成する方法は?

分類Dev

Java抽象クラスを実装および設計する方法

分類Dev

優れたPythonはデータ型を設定する方法があります

分類Dev

Java、SQL、ORMでmoneyデータ型を使用する方法

分類Dev

Scalaの抽象化型の型パラメーターに対応する具象型を反映する方法は?

分類Dev

SQLデータベース設計:リストの保存を回避する方法は?

分類Dev

Java-物理計算のデータ型はどれですか?

分類Dev

抽象クラスでこれらを設計する方法

分類Dev

「静的抽象データ型を実装する」と私の教授はどういう意味ですか?

分類Dev

加速度計データで度を取得する方法(Java libGDX)

分類Dev

Haskellで再帰データ型を列挙する方法は?

分類Dev

C#で異なるデータ型を返す方法は?

分類Dev

jqueryでデータ型属性を取得する方法は?

分類Dev

抽象データ型と代数的データ型の違いは何ですか

分類Dev

これを設計するための最良の方法:c#の列挙型または個別のデータベーステーブル

分類Dev

Wildfly 10でデータソースを設定する方法は?

分類Dev

集計データでquantedaを使用する方法は?

分類Dev

SQLでデータを集計する方法は?

分類Dev

Rでカテゴリデータを集計する方法は?

分類Dev

LINQで毎月データを合計する方法は?

Related 関連記事

  1. 1

    C99:動的割り当てなしで抽象データ型を設計することは可能ですか?

  2. 2

    Pythonでsteinhaus-johnson-trotter(順列)アルゴリズムを実装するために使用される抽象データ型(ADT)は何ですか?

  3. 3

    抽象型でデータを保存する方法は?データをsql_variantデータ型として保存するのは正しいですか?

  4. 4

    複数の条件で値を計算する方法とデータベースを設計する方法は?

  5. 5

    データを参照するデータ駆動型設計

  6. 6

    ansi Cで抽象データ型を作成するための標準的な方法はありますか?

  7. 7

    Denodo:varcharデータ型を集計する方法は?

  8. 8

    行列を抽象データ型で出力する関数

  9. 9

    抽象型でマージを使用する方法は?

  10. 10

    typescriptでカスタムデータ型を作成する方法は?

  11. 11

    Java抽象クラスを実装および設計する方法

  12. 12

    優れたPythonはデータ型を設定する方法があります

  13. 13

    Java、SQL、ORMでmoneyデータ型を使用する方法

  14. 14

    Scalaの抽象化型の型パラメーターに対応する具象型を反映する方法は?

  15. 15

    SQLデータベース設計:リストの保存を回避する方法は?

  16. 16

    Java-物理計算のデータ型はどれですか?

  17. 17

    抽象クラスでこれらを設計する方法

  18. 18

    「静的抽象データ型を実装する」と私の教授はどういう意味ですか?

  19. 19

    加速度計データで度を取得する方法(Java libGDX)

  20. 20

    Haskellで再帰データ型を列挙する方法は?

  21. 21

    C#で異なるデータ型を返す方法は?

  22. 22

    jqueryでデータ型属性を取得する方法は?

  23. 23

    抽象データ型と代数的データ型の違いは何ですか

  24. 24

    これを設計するための最良の方法:c#の列挙型または個別のデータベーステーブル

  25. 25

    Wildfly 10でデータソースを設定する方法は?

  26. 26

    集計データでquantedaを使用する方法は?

  27. 27

    SQLでデータを集計する方法は?

  28. 28

    Rでカテゴリデータを集計する方法は?

  29. 29

    LINQで毎月データを合計する方法は?

ホットタグ

アーカイブ