二第三章类对象及它们的关系Word格式文档下载.docx
《二第三章类对象及它们的关系Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《二第三章类对象及它们的关系Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
债务·
资产·
报价单
技术系统中存在的类的例子:
传感器·
显示器·
I/O卡
发动机·
按钮
系统软件中存在的类的例子:
文件·
可执行程序
图标·
窗口
3.2类图
类图是一种静态模型类型。
它表达了系统的静态结构信息,即系统是由哪些类组成的,这些类之间的关系是什么。
类图不仅显示了系统内信息的结构,也描述了系统内这些信息的行为。
图3.1UML中的类
3.2.1发现类
有需要存储或分析的信息吗?
有外部系统吗?
有任何模式、类库、组件等诸如此类的东西吗?
存在系统必须处理的设备吗?
有组织机构部分吗?
参与者在业务中扮演哪些角色?
3.2.2名称部分
名称用粗体字并居中显示。
3.2.3属性部分
⒈属性的命名
一般来说,属性的命名是以小写字母开头的。
图3.2类Car的属性
⒉属性的类型
典型的属性类型有:
整型、布尔型、实型、点、面和枚举类型,这些称之为简单类型(PrimitiveType)。
在UML中,类的属性可以使用任意类型。
图3.3带有属性类型的类
图3.4Person类的属性
⒊属性的可见性(Visibility)
属性的可见性描述了该属性对于其他类是否可见,以及是否可以被其他类引用,而不仅仅是被该属性所在类可见。
可见性的类型:
如果类C的某个属性f具有公有(Public)可见性,那么f对任何对象都是可见的,可以在此类的外部使用和查看该属性,并且C的子类都可以继承f。
如果类C的某个属性f具有私有(Private)可见性,那么f仅对类C的对象可见,不可以从其他类中访问这个属性;
在这种情况下,C的子类不能继承f。
如果f具有保护(Protected)可见性,那么,f仅对类C的对象和C的子类的对象可见;
在这种情况下,C的子类可以继承f。
可见性在类图中的表达方式:
public:
+
private:
-
protected:
#
图3.5带有公有和私有类型属性的类
图3.6带有属性并且属性具有默认值的类
⒋类属属性
此属性被该类所有对象共享。
在类图中,类属属性带有一条下划线。
图3.7具有类属属性的类
图3.8具有枚举类型Status的属性
Java实现
图3.9Invoice类
publicclassInvoice
{
publicdoubleamount;
publicDatedate=newData();
publicStringcustomer;
//Constructor,calledeverytimeanobjectsiscreated
publicInvoice()
//Otherinitialization
number_of_invoice++;
//Incrementtheclassattribute
}
//Othermethodsgohere
};
3.2.4操作部分
操作(函数)用于操纵属性或执行其他动作。
⒈操作表示法
操作签名=操作名+参数+返回类型
图3.10类Car
两个标准的操作:
get和set。
图3.11类Person的操作
图3.12类WashingMachine
⒉操作的可见性
public:
+
private:
-
图3.13带有操作可见性的类
⒊类属操作
类属操作只限于访问类属属性。
图3.13类属操作getCounter
⒋参数的默认值
图3.14参数的默认值
⒌永久类
永久类具有处理对象存储的类属操作。
例如,store(),load(…),create().
Java实现
图3.15Figure类
Figure类的Java代码如下:
publicclassFigure
privateintx=0;
privateinty=0;
publicvoiddraw()
//Javacodefordrawingthefigure
}
创建Figure对象以及调用该对象的draw操作的Java代码如下:
Figurefig1=newFigure();
Figurefig2=newFigure();
fig1.draw();
fig2.draw();
3.2.5使用简单类型