クラス間の静的な構造を表現するための図。クラス図はクラス・インターフェイスとそれらの関係から構成される。
クラスの書き方は単純で、四角形の中にクラスの名前とメソッド、書きたいなら引数と戻り値を書くだけ。省略。
クラス間の関係には4種類ある。
interfaceをclassで実装するときUMLではrealizationを使って表す。JavaならImplements。c++にはInterfaceの機能がない。
associationはオブジェクト間に構造的に関係があることを示す。具体的には集約-aggregation-、合成-composition-という関係。 aggregationは関連するオブジェクト間に「全体-部分」の関係が成り立っていることを言う。 インスタンス変数によって実装される。
Class TaskList { Task *t = new Task(task_num); ....... }こんな感じ?このときTaskListとTaskはaggregationの関係にあると言える。
dependencyはUMLでやたら出てくるが、クラス図の場合はuse の関係を表す。
class GpuScheduler { TaskList * tasklist = (TaskList*)connector->dma_load(); // }LINK