疯狂Java讲义(二)

        Java语言是纯粹的面向对象的程序设计语言,这主要表现为Java完全支持面向对象的三种基本特征:继承、封装和多态。Java 语言完全以对象为中心,Java程序的最小程序单位是,整个 Java 程序由一个一个的类组成。

        Java完全支持使用对象、类、继承、封装、消息等基本概念来进行程序设计,允许从现实世界中客观存在的事物(即对象)出发来构造软件系统,在系统构造中尽可能运用人类的自然思维方式。实际上,这些优势是所有面向对象编程语言的共同特征。面向对象的方式实际上由OOA(面向对象分析)、OOD(面向对象设计)和OOP(面向对象编程)三个部分有机组成,其中,OOA和OOD的结构需要使用一种方式来描述并记录,目前业界统一采用UML(统一建模语言)来描述并记录OOA和 OOD的结果。

        目前UML的最新版本是2.0,它一共包括13种类型的图形,使用这13种图形中的某些就可以很好地描述并记录软件分析、设计的结果。通常而言,没有必要为软件系统绘制13种UML图形,常用的UML图形有用例图、类图、组件图、部署图、顺序图、活动图和状态机图。本章将会介绍UML图的相关概念,也会详细介绍这7种常用的UML图的绘制方法。

1.结构化程序设计

        结构化设计需要采用自顶向下的设计方式,在设计阶段就需要考虑每个模块应该分解成哪些子模块,每个子模块又分解成哪些更小的模..依此类推,直至将模块细化成一个个函数。

2.UML(统一建模语言)介绍

 2.1用例图

         用例图包括用例(以一个椭圆表示,用例的名称放在椭圆的中心或椭圆下面)、角色(Actor,也就是与系统交互的其他实体,以一个人形符号表示)、角色和用例之间的关系(以简单的线段来表示),以及系统内用例之间的关系。用例图一般表示出用例的组织关系——要 么是整个系统的全部用例,要么是完成具体功能的一组用例。

 2.2类图

 

 类图除了可以表示实体的静态内部结构之外,还可以表示实体之间的相互关系。

类之间有三种基本关系:

1.关联(包括聚合,组合)   2.泛化(与继承同一个概念)   3.依赖

1.

组合中部分和全体唇亡齿寒的关系,有部分的存在,全体才称之为全体,每个实例都是其固有特性;

聚合中部分的每个实例都不是全体的固有特性,可以有千千万万个部分实例,只要有一个部分的实例存在,聚合关系形成的全体仍然是其本身。

2.

 3.

如果一个类的改动会导致另一个类的改动,则称两个类之间存在依赖。依赖关系使用带箭头的虚线
表示,其中箭头指向被依赖的实体。依赖的常见可能原因如下:
➢改动的类将消息发给另一个类。
➢改动的类以另-一个类作为数据部分。
➢改动的类以另一个类作为操作参数。

  2.3 组件图

 

  2.4 部署图

  2.5 顺序图

        顺序图有两个维度:垂直维度,以发生的时间顺序显示消息/调用的序列;水平维度,显示消息被发送到的对象实例。顺序图的关键在于对象之间的消息,对象之间的信息传递就是所谓的消息发送,消息通常表现为对象调用另一个对象的方法或方法的返回值,发送者和接收者之间的箭头表示消息。
        顺序图的绘制非常简单。顺序图的顶部每个框表示每个类的实例(对象),框中的类实例名称和类名称之间用冒号或空格来分隔,例如myReportGenerator : ReportGenerator。如果某个类实例向另一个类实例发送一条消息,则绘制一条指向接收类实例的带箭头的连线,并把消息/方法的名称放在连线上面。

  2.6 活动图和状态机图

 

散装知识点:

本光盘是《疯狂Java讲义》一书的配书光盘,书中的代码按章、按节存放, 即第3章第1节所使用的代码放在codes文件夹的03\3.1文件夹下,依此类推。 另:书中每份源代码也给出与光盘源文件的对应关系,方便读者查找。 本光盘codes目录下有18个文件夹,其内容和含义说明如下: (1) 01~18文件夹名对应于《疯狂Java讲义》中的章名, 即第3章所使用的代码放在codes文件夹的03件夹下,依此类推。 (2) 本书所有代码都是IDE工具无关的程序,读者既可以在命令行窗口直接编译、 运行这些代码,也可以导入Eclipse、NetBeans等IDE工具来运行它们。 (3) 本书第12章第11节的TestTableModel.java程序,以及第13章绝大部分程序 都需要连接数据库,所以读者需要先导入*.sql文件中的数据库脚本,并修改 mysql.ini文件中的数据库连接信息。连接数据库时所用的驱动程序JAR文件 为mysql-connector-java-3.1.10-bin.jar文件。这些需要连接数据库的程序 里还提供了一个*.cmd文件,该文件是一个批处理文件,运行该文件可以运行 相应的Java程序,例如DatabaseMetaDataTest.java对应的*.cmd文件为 runDatabaseMetaDataTest.cmd。 (4) 光盘根目录下提供了一个“Java设计模式(疯狂Java联盟版).chm”文件,这是一份 关于设计模式的电子教材,由疯狂Java联盟的杨恩雄亲自编写、制作,他同意广 大读者阅读、传播这份开源文档。 (5) 因为本书第1版有些读者提出关于《疯狂Java讲义》课后习题标准答案的问题, 因此本书光盘根目录下包含一个project_codes文件夹,该文件夹里包含了疯狂 Java联盟的杨恩雄编写的《疯狂Java实战演义》一书的光盘内容,该光盘中包 含了大量实战性很强的项目,这些项目基本覆盖了《疯狂Java讲义》课后习题 的要求,读者可以参考相关案例来完成《疯狂Java讲义》的课后习题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撩得Android一次心动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值