《第10章 面向对象建模.ppt》由会员分享,可在线阅读,更多相关《第10章 面向对象建模.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第10章章 面向对象建模面向对象建模学习目标学习目标l熟悉程序的开发过程熟悉程序的开发过程l学习关系类型学习关系类型:关联、聚集、组合、强继承和弱继承关联、聚集、组合、强继承和弱继承l声明类并表示类之间的关系声明类并表示类之间的关系l通过确定类和分析类之间的关系来设计系统通过确定类和分析类之间的关系来设计系统l实现有理数类实现有理数类l根据类的设计原则设计类根据类的设计原则设计类l利用顺序图和状态图模拟动态行为利用顺序图和状态图模拟动态行为l应用应用Java API理解基于构架的程序设计概念理解基于构架的程序设计概念2面向对象技术面向对象技术10.1 引言引言l面向对象方法开发软件系统l使用
2、UML对类进行建模l类的设计原则,可复用类的设计3面向对象技术面向对象技术10.2 软件开发过程软件开发过程需求分析系统分析系统设计实现测试发行运行维护寻求理解问题、详细说明需要什么的正式过程.根据数据流分析事务的过程,并确定系统的输入输出.捕捉系统基本元素并定义系统服务.设计系统构件的过程,分解系统为构件,确定类和接口,建立类和接口之间的关系.将系统设计翻译成程序.确保代码符合需求分析并且排除错误.使项目有效地开展应用.修改和改进产品.软软 件件 开开 发发 周周 期期-瀑瀑布布模模型型4面向对象技术面向对象技术10.3 分析类之间的关系分析类之间的关系l关联(association)l聚集
3、(aggregation)l继承(inheritance)l依赖(dependency)类的关系主要有类的关系主要有类的关系主要有类的关系主要有:5面向对象技术面向对象技术10.3.1 关联关联关联是一种描述两个类之间行为的一般二元关系关联是一种描述两个类之间行为的一般二元关系关联是一种描述两个类之间行为的一般二元关系关联是一种描述两个类之间行为的一般二元关系.其其其其UMLUML图形符号为图形符号为图形符号为图形符号为:关联关联关联的名称关联的名称关联的方向关联的方向对象的多重性对象的多重性类的角色类的角色6面向对象技术面向对象技术10.3.1 关联关联/*Faculty.java*/pub
4、lic class Faculty .private Course courseList;./*Course.java*/public class Course .private Faculty teacher;.7面向对象技术面向对象技术10.3.2 聚集与组合聚集与组合聚集是一种特殊的关联形式聚集是一种特殊的关联形式聚集是一种特殊的关联形式聚集是一种特殊的关联形式,表示类之间的整体与部分关系表示类之间的整体与部分关系表示类之间的整体与部分关系表示类之间的整体与部分关系(has-a).(has-a).public class Circle public int radius;Style st
5、yle;public class Style Color color;boolean isFilled;8面向对象技术面向对象技术10.3.2 聚集与组合聚集与组合组合组合组合组合(composition)(composition)是一种特殊的聚集是一种特殊的聚集是一种特殊的聚集是一种特殊的聚集,强调整体和部分具有相同的生命期强调整体和部分具有相同的生命期强调整体和部分具有相同的生命期强调整体和部分具有相同的生命期.public class Circle public int radius;Point center;public class Point int x,y;9面向对象技术面向对象技
6、术10.3.3 继承继承package aPackage;public class Parent package aPackage;class Child extends Parent 10面向对象技术面向对象技术10.3.4 依赖依赖class DepClass .void myFunction1(RefClass r).RefClass myFunction2().void myFunction3()RefClass m 依赖依赖(使用一个类使用一个类)参数参数or 返回类型返回类型or 局部变量局部变量11面向对象技术面向对象技术10.4 实例学习实例学习1.确定、标识系统的类.2.描述
7、每个类的属性和方法.3.建立类之间的关系.4.创建类.构建面向对象程序的步骤构建面向对象程序的步骤构建面向对象程序的步骤构建面向对象程序的步骤:12面向对象技术面向对象技术10.4 实例学习实例学习借贷模型的简略类模型借贷模型的简略类模型借贷模型的简略类模型借贷模型的简略类模型13面向对象技术面向对象技术10.6 类的设计原则类的设计原则l一个类应该描述一个单一的实体,类的所有操作应该在逻辑上相互配合,支持一个共同的目标.l类经常是为了多种不同用户的使用而设计的.l类是为了可重用而设计的.l尽可能提供无参构造方法,并覆盖equals、toString、hashCode等方法.l遵循标准的Jav
8、a的编程风格和命名规则.14面向对象技术面向对象技术10.6 类的设计原则可见性修饰符类的设计原则可见性修饰符l一个类可以提供2种合约:对类的使用者:private的数据域;public的访问器和修改器.对类的扩展者:数据域、访问器和修改器均为protected.l类应该使用private修饰符隐藏数据,避免用户直接访问.15面向对象技术面向对象技术10.6 类的设计原则静态修饰符类的设计原则静态修饰符l一个属性如果被类中的所有实例共享,声明为static.l一个方法如果不依赖于具体的实例,则应该声明为static的.16面向对象技术面向对象技术10.6 类的设计原则继承和聚集类的设计原则继承
9、和聚集二者区别二者区别二者区别二者区别:is-a:is-a和和和和has-a.has-a.public class Cylinder extends Circle public class Cylinder private Circle circle;讨论问题讨论问题讨论问题讨论问题:上面上面上面上面2 2种方法哪种更好种方法哪种更好种方法哪种更好种方法哪种更好?17面向对象技术面向对象技术10.6 类的设计原则接口和抽象类类的设计原则接口和抽象类l如何判断使用接口或抽象类?强是关系描述了父子关系,应该用类来描述.弱是关系是指对象拥有某种属性,可以用接口描述.l通常需要综合应用接口和抽象类.18面向对象技术面向对象技术10.7 模拟动态行为模拟动态行为(略略)l顺序图:通过刻画方法调用的时间顺序来描述对象之间的交互行为.l状态图:描述对象的控制流.19面向对象技术面向对象技术10.8 使用使用Java API在构架基础上编程在构架基础上编程lJava API由许多类和接口构成,存在于10几个包中.java.langjavax.swingjava.utill基于构架的程序设计20面向对象技术面向对象技术
限制150内