digraph g {
edge[arrowhead="vee",arrowtail="onormal"]
subgraph a {
Aggregate [
shape = record,
fontname="MS UI Gothic"
label = "{\<\<interface\>\>\n Aggregate| | + iterator : Iterator\n\l }"];
Iterator [
shape = record,
fontname="MS UI Gothic"
label = "{\<\<interface\>\>\nIterator| |+ next() : boolean\n + hasNext() : Object}"];
Aggregate -> Iterator[label = "\n\n creates"];
{rank = same; Aggregate;Iterator}
}
subgraph b {
ConcreteAggregate [
shape = record,
fontname="MS UI Gothic"
label = "{ConcreteAggregate| | + iterator() : Iterator\n\l}"];
ConcreteIterator [
shape = record,
fontname="MS UI Gothic"
label = "{ConcreteIterator| - aggregate : Aggregate\n- index : int|+ next() : boolean\n + hasNext() : Object}"];
ConcreteAggregate -> ConcreteIterator[arrowhead="odiamond",arrowtail="vee",dir="both",label = "Aggregation"];
{rank = same; ConcreteAggregate; ConcreteIterator}
}
Aggregate -> ConcreteAggregate[style=dotted,dir=back,label = " implements"];
Iterator -> ConcreteIterator[style=dotted,dir=back,label = " implements"];
}
0 件のコメント:
コメントを投稿