📄 5associations.html
字号:
并且代码中的所有 Javadoc
注释也都被复制了.</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>
整理模型图:
<ul>
<li>将连接线设置为矩形线.
<li>将继承关系显示为水平方式.
</ul>
</td>
</tr>
</table>
</td>
</tr>
</table>
<p>为了进行模型图级别的修改,
比如上面的操作,
你需要打开模型图设置窗口:
在主菜单中选择 <b>Tools | Options | Diagram Level</b>.</p>
<ul>
<li>"将连接修改为矩形线"在模型图设置的最顶级.
<li>"将继承关系显示为水平方式"在 <b>Diagram | Layout</b>
级. </ul>
<p></p>
<hr>
<p class="head3"><a name="interfaces"></a>创建并实现接口</p>
<p>最后一个任务,
我们假设 <b>Agents</b> 类和 <b>Reservations</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><b>:</b>
创建一个接口,
命名为 <b>INamed</b>.
然后完成以步骤.
<ol>
<li>为 <b>INamed</b>
增加一个操作,
名为 <b>getName()</b>,
返回类型为 <b>String</b>.
<li>将 <b>Agent</b> 类和 <b>Reservation</b>
类连接到 <b>INamed</b>.
</ol>
</td>
</tr>
</table>
</td>
</tr>
</table>
<p>创建接口的过程与创建类和包一样.
使用 Designer
工具条中的接口按纽(<img src="images/icons/interfacebutton.png" width="12" height="14" border="0" align="top" hspace="2">)即可.
你可以编辑其名称.
注意 Together
将接口的名称及其中的操作显示为斜体字.</p>
<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td bgcolor="white">
<table border="0" cellpadding="0" cellspacing="2">
<tr>
<td valign="top">
<p> Designer
工具条中一般化按纽<nobr>(</nobr><nobr><img src="images/icons/generalizationicon.png" width="12" height="12" border="0" hspace="1" alt="Generalization icon" vspace="2"></nobr><nobr>)除了显示类的继承关系,
还可表示类实现接口</nobr>.</p>
<p>Together
会自动在实现接口的类的声明中插入
"<b>implements</b>" 部分.</p>
</td>
<td valign="top"><img src="images/airline/pro5_showinterfacecode.png" width="474" height="197" border="0" alt="Note inspector" hspace="5"></td>
</tr>
</table>
</td>
</tr>
</table>
<p>实现接口的类中必须定义接口中的操作.
我们先不在 <b>Agent</b> 类和 <b>Reservation</b>
类中实现 <b>getName()</b>,
这个任务将推迟到讨论设计模式时再完成.</p>
<hr>
<p class="head3"><a name="note"></a>在模型图中增加便签</p>
<p>你已经基本完成这一课了.
但现在我们再向模型图中增加一种新的元素:
便签, 用来解释预定航班的业务规则:</p>
<dl>
<dd>"如果售出的机票数不超过该航班容量,
那么你可以预定航班."
</dl>
<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>AirlinePD</b>
类图中放置一个便签,
以便描述业务规则.
然后将便签类型设置为
"business rule".</td>
</tr>
</table>
</td>
</tr>
</table>
<p></p>
<table border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td bgcolor="white">
<table border="0" cellpadding="0" cellspacing="2">
<tr>
<td valign="top">
<p>使用 Designer
面板工具条中的便签按纽<nobr>(</nobr><nobr><img src="images/icons/noteicon.png" width="16" height="13" border="0" alt="Note icon" hspace="2" align="top"></nobr><nobr>)</nobr> --
直接在模型图上的便签节点中输入文字.
完成后,
使用便签连接按纽<nobr>(<img src="images/icons/notelinkicon.png" width="12" height="12" border="0" alt="Note link icon" hspace="2" align="top">)</nobr>将便签连接到 <b>Flight</b>
类<nobr>.</nobr> </p>
<p>你可以在便签属性查看器的
"Requirements"
页中设置便签类型,
如右图所示. (注意我们的属性查看器没有停靠到主窗口中.
点击属性查看器右上角的图钉按纽将把属性查看器停靠到Explorer
面板的底部.)</p>
<p></p>
</td>
<td valign="top"><img src="images/airline/pro5_businessruleset.png" width="351" height="308" border="0" alt="Note inspector" hspace="5"></td>
</tr>
</table>
</td>
</tr>
</table>
<p>下图是我们的 <b>AirlinePD</b>
类图目前的样子.
连接线是矩形风格的.
继承关系是水平风格的.</p>
<p><img src="images/airline/pro5_modelcleaned.png" width="751" height="333" border="0" alt="Class diagram" hspace="10" vspace="10"></p>
<p></p>
<hr>
<p class="head3"><a name="tip"></a>技巧</p>
<ul>
<li>如果你在 Designer
面板右键菜单中选择
<b>Layout | All</b>, Together 将整理模型图的几何排列.
<li>如果你不喜欢任何一个修改,
不论是移动了模型图元素,
创建或删除了元素,
或者是修改了代码,
你都可以使用撤消按纽.
可以进行多级撤消.
而且你不想撤消,
你还可以选择重做按纽. <li>撤消和重做按纽有提示信息,
描述将要撤消或重做的动作. <li>在模型图上创建一个自连接有困难吗?
请把连接线的风格从矩形线修改为直线.
<li>如果你从一个接口或一个抽象类中将一个方法复制到实体类,
它将被复制为一个实体方法.
如果你从一个类中将一个方法复制到一个接口,
它将被复制为一个方法声明(没有方法体). <li>如果你希望一个关联显示在类节点中,
将它的名称修改为不以
"<b>lnk</b>" 开始即可.
或者如果你希望所有的关联都显示在类节点中,
你可以从主菜单中选择 <b>Tools | Options | Diagram Level</b>.
然后选择 <b>Diagram | Associations | Show as attributes | All</b>. <li>要将所有的连接显示为有方向的,
从主菜单中选择 <b>Tools | Options | Diagram Level</b>,<b>
</b>然后选择 <b>Diagram | Associations | Draw Directed | All</b>.
</ul>
<p></p>
<center>
<hr>
<img height="19" width="298" src="images/generic/nvbuttons.gif" vspace="10" alt="Navigation bar" usemap="#nvbuttonsb601029d" border="0"><map name="nvbuttonsb601029d"><area href="#top" coords="101,2,146,17" shape="rect"><area href="4classes.html" coords="0,2,96,16" shape="rect"><area href="6patterns.html" coords="152,1,208,17" shape="rect"><area href="index.html" coords="216,1,295,17" shape="rect"></map>
<hr>
</center>
<div align="left">
<p class="footnote">Copyright © 2002 TogetherSoft, Inc. All rights reserved.</p>
</div>
<p class="footnote"><font color="#666666">Last revised: <csobj w="88" h="12" t="DateTime" format="MedDate" region="2">Fri, Mar 8, 2002</csobj></font>
<p class="footnote"><span style="font-size: 9pt"><a href="mailto:%20e.w@263.net">翻译: 李颖(e.w@263.net)</a></span></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -