📄 5associations.html
字号:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Together Tutorial -- Part 5</title>
<link href="tutor.css" rel="styleSheet" type="text/css">
</head>
<body bgcolor="white" link="#003399" alink="#999999" vlink="#000066">
<p class="head2" align="left"><span style="font-size: 9pt"><a href="mailto:%20e.w@263.net">翻译: 李颖(e.w@263.net)</a></span></p>
<center>
<p class="head2"><a name="top"></a>Together 教程<br>
5: 类与关联</p>
</center>
<p>在前面的课程中,
你已经创建了一些类.
但这只是一个没有关联的简单的类图.
在这一课中,
你将创建连接这五个类的关联来弥补这一缺陷. You will label some of the associations and put on multiplicities.</p>
<p>在这一课的结尾,
你将创建一个接口和两个子类.
而且你将通过<b>一般化连接</b>和<b>实现连接</b>把它们和有的类连接起来.</p>
<p><b>目录:</b></p>
<ul>
<li><a class="onPage" href="#association">创建关联</a>
<li><a class="onPage" href="#onesource">修改关联</a>
<li><a class="onPage" href="#patterns">将连接修改为聚合</a>
<li><a class="onPage" href="#generalizations">显示继承关系</a>
<li><a class="onPage" href="#interfaces">创建并实现接口</a>
<li><a class="onPage" href="#note">在模型图中增加便签</a>
<li><a class="onPage" href="#tip">技巧</a>
</ul>
<p></p>
<p><img src="images/generic/rainbow2.gif" width="900" height="2" border="0"></p>
<p class="head3"><a name="association"></a>创建关联</p>
<p>你将在 <b>AirlinePD</b>
包中工作. 请在 Designer
面板中打开它的模型图.</p>
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
<tr>
<td bgcolor="#993300">
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
<tr>
<td bgcolor="#ffffcc"><b>操作步骤:</b>
创建从 <b>Flight</b> 到 <b>FlightDescription</b>
的关联.</td>
</tr>
</table>
</td>
</tr>
</table>
<p></p>
<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td bgcolor="#CCCCCC">
<table border="0" cellpadding="5" cellspacing="2">
<tr>
<td valign="top" bgcolor="white">首先点击垂直工具条中的关联按纽<nobr>(</nobr><nobr><img height="12" width="12" src="images/icons/associationicon.gif" alt="Association icon" hspace="1"></nobr><nobr>)</nobr>.
关联与其他模型图中的连接元素的工作方式一样.
当你将光标移动到有效的
client(开始点) 和 supplier(结束点)
时, Together
将在节点周围显示光圈.<p>将光标从 <b>Flight</b>
拖动到 <b>FlightDescription</b>,
然后释放鼠标. Designer
面板将新建的关联显示为蓝色线条.</p>
<p>创建关联后,
你将在 Editor
中看到 <b>Flight</b>
类中出现了名为 <b>lnkFlightDescription</b>
的新的数据成员. </p>
</td>
<td valign="top" bgcolor="white"><img src="images/airline/dragasso.png" width="386" height="180" border="0" alt="Dragging a link" hspace="5"></td>
</tr>
</table>
</td>
</tr>
</table>
<p>注意 <b>lnkFlightDescription</b>
没有出现在 Designer
面板的 <b>Flight</b> 节点内部. Together
将名称以 "<b>lnk</b>"
开头的特性认为是 "自动"
连接,
而且它不将这样的特性显示在类节点内,
除非你修改模型图设置.
(如果你希望新建连接成员显示为一个特性,
你可以将其名称修改为不以
"<b>lnk</b>" 开头.)</p>
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
<tr>
<td bgcolor="#993300">
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
<tr>
<td bgcolor="#ffffcc"><b>操作步骤:</b>
创建两个关联:
<ol>
<li>从 <b>Reservation</b> 到 <b>Ticket</b>
<li>从 <b>Agent</b> 到 <b>Flight</b>
</ol>
</td>
</tr>
</table>
</td>
</tr>
</table>
<p>Together
允许选择连接的显示方式: </p>
<ul>
<li>折线:
连接线显示为一系列水平和垂直线段. <li>直线:
连接线是直线,
但可能是倾斜的. (连接线也可以是任意倾斜度的一系列线段). </ul>
<p>连接线显示方式在模型图设置中,
可通过主菜单中的 <b>Tools | Options | Diagram Level</b>
命令访问.</p>
<p>大多数连接从一个类到另一个类.
但有时候可能连接到自身,
开始点和结束点都在同一个类上.
你可以在我们的模型图中放置一个自连接,
以区别航班计划和实际的航班.</p>
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
<tr>
<td bgcolor="#993300">
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
<tr>
<td bgcolor="#ffffcc"><b>操作步骤</b><b>:</b>
将连接显示为直线,
然后在 <b>Flight</b>
上画一个自连接.</td>
</tr>
</table>
</td>
</tr>
</table>
<p>下图是到目前为止模型图的样子.</p>
<p><img src="images/airline/model.png" width="623" height="306" border="0" alt="Diagram pane" hspace="10" vspace="10"></p>
<p></p>
<hr>
<p class="head3"><a name="onesource"></a>修改关联</p>
<p>关联也有自己的右键菜单和属性查看器.
对连接进行的很多修改,
都必须通过右键菜单或属性查看器来实现.</p>
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
<tr>
<td bgcolor="#993300">
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#ffffcc" width="100%">
<tr>
<td bgcolor="#ffffcc"><b>操作步骤</b><b>:</b>
为 <b>Flight</b> 到 <b>FlightDescription</b>
的关联设置势.
<ul>
<li> client 端(<b>Flight</b>)设置为
<b>0..*</b>
<li> supplier 端(<b>FlightDescription</b>)设置为
<b>1</b>
</ul>
</td>
</tr>
</table>
</td>
</tr>
</table>
<p></p>
<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td bgcolor="#CCCCCC">
<table border="0" cellpadding="5" cellspacing="2">
<tr>
<td valign="top" bgcolor="white">
<p>连接的右键菜单的内容根据当前光标位置而变化.
要修改连接的势或者角色,
请在其末尾处点击鼠标右键.</p>
<p>右键菜单中显示了最常见的势.
大多数时候你可以直接选择,
而不需要在属性查看器进行修改.</p>
</td>
<td valign="top" bgcolor="white"><img src="images/airline/assocend.png" width="157" height="47" border="0" hspace="5" vspace="5"></td>
</tr>
</table>
</td>
</tr>
</table>
<p></p>
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#993300" width="100%">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -