自测题:
1.    图11-1的UML设计中各个类之间的关系。
Hostel与TenantList是关联关系;
TenantList和PaymentList与ObjectList是泛化关系。TenantList和PaymentList是ObjectList的子类;
TenantList与Tenant是聚合关系;
PaymentList与Payment是聚合关系;
Tenant与PaymentList是关联关系。

注:不太明白什么时候描述关系,可能用来描述的还是业务上的关系。

2.    为什么开发一个通用的ObjectList类。
该系统需要开发两种列表,PaymentList和TenantList,为了避免重复开发代码,因此开发了一个通用的ObjectList类,
然后通过继承方法分别为PaymentList和TenantList添加特定的属性和方法。

3.    在UML类图中如何记录类的属性?
类属性的语法:
[可见性]属性名[:类型][=初始值][{属性字符串}]
(1)可见性:类中属性的可见性主要包括公有(Public)、私有(Private)和受保护(Protected)。
在UML中,用“+”表达公有类型,用“-”表达私有类型,而用“#”表达受保护类型。UML的类中不存在默认的可见性,
如果没有显示任何一种符号,就表示没有定义该属性的可见性。
(2)属性名:每个属性都必须有一个名字以区别于类中的其他属性,是类的一个特性。属性名由描述所属类
的特性的名词或名词短语组成。按照UML的约定,单字属性名小写。如果属性名包含多个单词,这些单词要合并,
且除了第一个单词外其余单词的首字母要大写。
(3)类型:说明属性的数据类型。在类的图标里,可以指定每个属性值的类型。可能的类型包括字符串
(string)、浮点型(float)、整型(int)和布尔型(boolean),以及其他的枚举类型。指明类型时,需要在
属性值后面加上类型名,中间用冒号隔开。还可以为属性指定一个默认值。
(4)初始值:为了保护系统的完整性,防止漏掉取值或被非法的值破坏系统的完整性,可以设定属性的初始值。
(5)属性字符串:属性字符串用来指定关于属性的其他信息,例如,某个属性应该是永久的。任何希望添加
在属性定义字符串值但又没有合适地方可以加入的规则,都可以放在属性字符串里。

4.    如何改进本章案例研究中开发的应用程序。
(1)使用图形化用户界面。下章会完成。
(2)其他可以改的地方太多了,就不扩展了。

编程练习:代码附件
1.    PaymentTester.java
2.    PaymentTester.java
3.    TenantTester.java
4.    TenantListTester.java
5.    TenantListTester.java
6.    ...

《Java大学教程》—第11章 案例研究--第1部分的更多相关文章

  1. 正在学习的Java大学教程

    推荐本书<Java大学教程> 看的人比较少,我也是多年不看书了,基于教程一般选国外的方法,从图书馆选了本书. 看了一半,感觉书的内容比较认真,对于基本的Java知识都算介绍全了,而且全书是 ...

  2. 《Java大学教程》—第12章 案例研究--第2部分

    本章就是上一章的延续,主要是用GUI实现了控制界面. 编程练习:代码附件Hostel.java1.    正确运行2.    Runhostel.java3.    searchButton

  3. 《Java大学教程》—第21章 高级案例研究

    21.3    需求:P510用例模型(use case model):用例图(use case diagram).用例(use case).行为说明(behaviour specification) ...

  4. 《Java大学教程》—第24章 Java的背景

    本章主要介绍的是Java的背景知识,通过了解历史知道Java与其他语言的区别,以便更好选择在什么场景下使用Java. 24.2    语言的尺寸Java语言短小.紧凑,以C++为基础,放弃了一些特定的 ...

  5. 《Java大学教程》—第23章 Java网络编程

    本章主要关注的是Java的几个应用网络编程的场景,对于网络编程没有太多深入介绍,而Java本来也没有多少针对网络编程的特性.虽然Java有个Applet的概念,但是真用这个的开发的场景其实不多. 23 ...

  6. 《Java大学教程》—第19章 改进用户界面

    用户与程序交互的媒介称为用户界面(user interface)或人机界面(human-computer interface). 19.2    Border接口8个实现Border接口的标准边框类: ...

  7. 《Java大学教程》—第14章 抽象、继承和接口

    自测题:1.    解释抽象和抽象数据类型的概念.P333抽象的概念是仅仅关注对象可以完成什么工作,而不必担心如何完成工作的细节.类模板通常被称为抽象数据类型.因为这类数据暴露给用户的所有信息仅仅是方 ...

  8. 《Java大学教程》—第5章 数组

    5.6 增强的for循环:访问整个数组,读取数组元素,不基于数据下列5.7 数组方法:最大值.求和.成员访问.查找 1.答:P92存储固定个数相同数据类型的一组元素. 2.答:P92所有存储在一个特定 ...

  9. 《Java大学教程》—第4章 方法的实现

    4.2~3 声明.实现.调用4.4 数据传递:实参.形参.返回值4.6 变量作用域:局部变量(区域内访问).全局变量4.7 重载:运算符重载.方法重载-->多态 1.答:P67方法(method ...

随机推荐

  1. 【golang-GUI开发】qt之signal和slot(一)

    想了很久,我决定还是先从signal和slot(信号槽)开始讲起. signal和slot大家一定不陌生,先看一段示例(选自文档): class Counter : public QObject { ...

  2. Runtime详解(上)

    这篇关于Runtime讲解参考https://juejin.im/post/593f77085c497d006ba389f0以及https://www.jianshu.com/p/6ebda3cd80 ...

  3. .NET-ORM框架EF-Code First代码优先

    前言 Code First顾名思义,通告代码创建实体与数据库.示例中我们会创建表,分表是Studen,Teacher. Code First实战示例 打开VS2013,创建一个项目我这里是用的MVC框 ...

  4. Webservice开发、引用

    一.Webservice开发 1.在解决方案右键添加新建项目,新建空的web应用程序 2.在新建的项目右键添加新建项选择web服务 3.这里就是webservice 里的方法,可以添加自己需要的方法( ...

  5. C# 输出字符串到文本文件中

    写个博客记录下,方便以后使用: public class WriteHelper { public static void WriteFile(object data) { try { string ...

  6. C# Winform开发以及控件开发的需要注意的,被人问怕了,都是基础常识

    我是搞控件开发的,经常被人问,所以把一些问题记录了下来!如果有人再问,直接把地址丢给他看. 一. 经常会有人抱怨Winform界面闪烁,下面有几个方法可以尽可能的避免出现闪烁 1.控件的使用尽量以纯色 ...

  7. springMVC_10拦截器

    一,简介 拦截器概念和struts概念一致 实现拦截器 实现HandlerInterceptor接口 配置拦截器 <mvc:interceptors> <mvc:intercepto ...

  8. spring boot 打jar包,获取resource路径下的文件

    前言:最近在spring boot项目静态类中获取resource路径下文件,在idea中启动都可以获取,但是打包后变成了jar包 就无法获取到. 我想到了两种方法,一种是根据http访问静态资源比如 ...

  9. Android Navigation使用

    简介 Navigation导航编辑器旨在简化Android开发中导航的实现,可以帮助我们很好的处理Activity和fragment之间通过FragmentTransaction交互的复杂性,也可以很 ...

  10. markdown 语法指南

    说明:左边是markdown的语法 右边是预览.(我这里用了黑色的背景,一般白色较多) 1. 标题 2.列表 3.引用 (1)一层引用 (2)多层引用 4.图片(如果是本地:按照语法写图片路径:如果是 ...