- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(二)第3章类、对象及它们的关系
第三章 类、对象及它们的关系
3.1 类和对象
对象是人们可以谈论和操纵的一个事物。
类是对象类型的描述。所有的对象都是相应类的实例。从类示例出的每个对象具有相同的结构和行为。
业务系统和信息系统中存在的类的例子:
· 客户 · 协议 · 发票
· 债务 · 资产 · 报价单
技术系统中存在的类的例子:
· 传感器 · 显示器 · I/O卡
· 发动机 · 按钮
系统软件中存在的类的例子:
· 文件 · 可执行程序
· 图标 · 窗口
3.2 类图
类图是一种静态模型类型。它表达了系统的静态结构信息,即系统是由哪些类组成的,这些类之间的关系是什么。
类图不仅显示了系统内信息的结构,也描述了系统内这些信息的行为。
图3.1 UML中的类
3.2.1 发现类
· 有需要存储或分析的信息吗?
· 有外部系统吗?
· 有任何模式、类库、组件等诸如此类的东西吗?
· 存在系统必须处理的设备吗?
· 有组织机构部分吗?
· 参与者在业务中扮演哪些角色?
3.2.2 名称部分
名称用粗体字并居中显示。
3.2.3 属性部分
⒈ 属性的命名
一般来说,属性的命名是以小写字母开头的。
图3.2 类Car的属性
⒉ 属性的类型
典型的属性类型有:整型、布尔型、实型、点、面和枚举类型,这些称之为简单类型(Primitive Type)。
在UML中,类的属性可以使用任意类型。
图3.3 带有属性类型的类
图3.4 Person类的属性
⒊ 属性的可见性(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.9 Invoice类
public class Invoice
{
public double amount;
public Date date = new Data( );
public String customer;
//Constructor, called every time an objects is created
public Invoice ( )
{
//Other initialization
number_of_invoice++; //Increment the class attribute
}
//Other methods go here
};
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.15 Figure类
Figure 类的Java代码如下:
public class Figure
{
private int x = 0;
private int y = 0;
public void draw()
{
//Java code for drawing the figure
}
};
创建Figure对象以及调用该对象的draw 操作的Java代码如
您可能关注的文档
- (10实验学时)微机原理和应用实验指导书.doc
- (2011.06.07)C语言程序设计A课程期末复习和考试要求(文本).doc
- (2007-2008)学年度一年级数学上册单元作业题(一).doc
- (2011济宁二模)山东省济宁市2011届高三第2次模拟考试(语文).doc
- (2012–2013下学期)八年级物理下册第9章《压强》教案.doc
- (2012–2013下学期)八年级物理下册第12章《简单机械》 教案.doc
- (2017–2022年)中国不锈钢条刷行业运行模式及发展前景预测报告(目录).docx
- (2012-2013)小学六年级毕业模拟试卷.doc
- (2017–2022年)中国不锈钢耐腐蚀泵件行业运行模式及发展前景预测报告(目录).docx
- (2017–2022年)中国不锈钢耐腐蚀旋涡泵行业运行模式及发展前景预测报告(目录).docx
- DGTJ08-2137-2022 既有公共建筑节能改造技术标准.docx
- DGTJ08-803-2013 建筑幕墙安全性能检测评估技术规程.docx
- DGTJ08-2280-2018 民防工程安全使用技术标准.docx
- DGTJ08-1105-2010 移动通信室内信号覆盖系统设计与验收规范.docx
- DGTJ08-2292-2019 预应力钢筒混凝土顶管应用技术标准.docx
- DGTJ08-2445-2024 城镇排水管渠在线监测技术标准.docx
- DGTJ08-2451-2024 电动自行车集中充电和停放场所设计标准.docx
- DGTJ08-227-2020 预拌混泥土生产技术标准.docx
- DGTJ08-019-2018 建筑索结构技术标准.docx
- DGTJ08-2075-2022 管线定向钻进技术标准.docx
文档评论(0)