Chapter1面向对象开发方法概述.ppt

上传人:sccc 文档编号:5338734 上传时间:2023-06-27 格式:PPT 页数:51 大小:992.51KB
返回 下载 相关 举报
Chapter1面向对象开发方法概述.ppt_第1页
第1页 / 共51页
Chapter1面向对象开发方法概述.ppt_第2页
第2页 / 共51页
Chapter1面向对象开发方法概述.ppt_第3页
第3页 / 共51页
Chapter1面向对象开发方法概述.ppt_第4页
第4页 / 共51页
Chapter1面向对象开发方法概述.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《Chapter1面向对象开发方法概述.ppt》由会员分享,可在线阅读,更多相关《Chapter1面向对象开发方法概述.ppt(51页珍藏版)》请在三一办公上搜索。

1、Slide 1 Suo Wang 2011,面向对象程序设计Java,面向对象程序设计 Java,索 望Email:网络存储密码:wlgcx2003,Slide 2 Suo Wang 2011,面向对象程序设计Java,课程说明,课程性质:必修课时:讲授(30学时)+上机(18学时)教学大纲与授课计划成绩平时(30%)考勤、作业、平时表现等(15%)上机考勤、上机表现与实验报告(15%)期末(70%),Slide 3 Suo Wang 2011,面向对象程序设计Java,课程目标,首要目标学习并掌握Java编程语言:语法、规则、模式以及代码风格等。理解面向对象编程思想,掌握面向对象编程的过程、

2、方法与技术;学习使用JDK类库以及其他第三方的类库具备一定的Java项目实际开发能力;次要目标深入理解、灵活应用面向对象编程技术理解Java虚拟机相关知识,Slide 4 Suo Wang 2011,面向对象程序设计Java,课程安排,面向对象开发方法概述Java程序设计入门Java语言基础Java面向对象编程基础与进阶异常处理多线程Java集合Java I/O图形用户界面Java常用类Java类与对象生命周期,Slide 5 Suo Wang 2011,面向对象程序设计Java,教材与参考手册,教材Java面向对象编程最重要的参考手册Java API Documentationhttp:/,

3、Slide 6 Suo Wang 2011,面向对象程序设计Java,参考书籍,Java编程思想(Thinking in Java)作者:美 Bruce Eckel译者:侯捷Java核心技术:卷II 作者:昊斯特曼/Gary Cornell Effective Java中文版作者:美Joshua Bloch译者:潘爱民,Slide 7 Suo Wang 2011,面向对象程序设计Java,参考网站,http:/http:/http:/http:/http:/http:/http:/www.java-,Slide 8 Suo Wang 2011,面向对象程序设计Java,Chapter 1 面向

4、对象开发方法概述,软件开发方法结构化开发方法面向对象开发方法面向对象开发的核心与概念UML(Unified Modeling Language)语言简介示例程序-Panel系统小结,Slide 9 Suo Wang 2011,面向对象程序设计Java,Chapter 1 面向对象开发方法概述,软件开发方法结构化开发方法面向对象开发方法面向对象开发的核心与概念UML(Unified Modeling Language)语言简介示例程序-Panel系统小结,Slide 10 Suo Wang 2011,面向对象程序设计Java,软件开发方法,软件开发的生命周期需求分析软件设计概要设计详细设计软件编

5、码软件测试软件部署软件维护,Slide 11 Suo Wang 2011,面向对象程序设计Java,软件开发方法,优良软件系统应具备的特点,Slide 12 Suo Wang 2011,面向对象程序设计Java,软件开发方法,通常将软件系统划分为多个子系统进行设计与开发,结构稳定性,内聚性,可扩展性,可组合性,松耦合,子系统特点,Slide 13 Suo Wang 2011,面向对象程序设计Java,结构化开发方法,SASD方法,E.Yourdon和L.L.Constantine于1978年提出SA(Structure Analysis)-SD(Structure Design)-SP(Str

6、ucture Programming)按功能划分软件结构,将功能看成是:自顶向下设计,自下向上编码程序主体是方法(函数),方法是最小的功能模块,Slide 14 Suo Wang 2011,面向对象程序设计Java,结构化开发方法,示例程序:Panel系统缺陷:可维护性和可扩展性不强模块间松耦合性不高,Slide 15 Suo Wang 2011,面向对象程序设计Java,面向对象开发方法,概念:是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法,是建立在“对象”概念基础上的方法学 包括:面向对象分析(Object-Oriente

7、d Analysis OOA)面向对象设计(Object-Oriented Design OOD)面向对象编程(Object-Oriented Programming OOP),Slide 16 Suo Wang 2011,面向对象程序设计Java,面向对象开发方法,面向对象程序开发传统的程序开发主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令;面向对象程序开发中的程序则是包含各种独立而又互相调用的对象的集合;面向对象程序开发中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,或者说是负有责任的角色。,Slide 17 S

8、uo Wang 2011,面向对象程序设计Java,面向对象开发方法,面向对象分析与设计建立模拟问题领域的对象模型 自底向上的抽象把问题领域中的事物抽象为具有特定属性和行为的对象把具有相同属性和行为的对象抽象为类将具有共性的类的共性抽象到父类自顶向下的分解统一建模语言(UML)应用于面向对象分析与设计,Slide 18 Suo Wang 2011,面向对象程序设计Java,Chapter 1 面向对象开发方法概述,软件开发方法结构化开发方法面向对象开发方法面向对象开发的核心与概念UML(Unified Modeling Language)语言简介示例程序-Panel系统小结,Slide 19

9、Suo Wang 2011,面向对象程序设计Java,面向对象开发的核心思想与概念,对象(Object)类(Class)和类型(Type)消息(Message)和服务(Service)接口(Interface)抽象(Abstract)封装(Encapsulation)继承(Inheritance)多态(Polymorphism),Slide 20 Suo Wang 2011,面向对象程序设计Java,对象是对问题领域(真实世界)中的事物(包括实体和概念)的抽象;抽象出事物的属性/状态和行为构成软件对象,在软件系统中模拟问题领域的事物。软件程序中对象是一组变量和相关方法的集合,其中变量表明对象的

10、属性/状态,方法表明对象所具有的行为。,对象,Slide 21 Suo Wang 2011,面向对象程序设计Java,对象,对象的特性万物皆为对象,包括实体和概念每个对象都是唯一的对象具有属性和行为对象具有状态对象都属于某个类,Slide 22 Suo Wang 2011,面向对象程序设计Java,问题领域对象,UML类图,Slide 23 Suo Wang 2011,面向对象程序设计Java,类,类:定义了某一特定类型的所有对象的共同属性和行为,是对一类具有相同特性的对象的总体描述。类体中的组成:变量和方法。变量:指对象的属性或状态。方法:指对象的功能。类是对象的模板,对象是类的一个实例。类

11、是Java程序的基本组成单元,表示一种数据类型。,Slide 24 Suo Wang 2011,面向对象程序设计Java,类和对象的对比,类是一个定义一类对象的属性和操作并且在设计的时候产生的模板或蓝图,类,对象,对象是一个关于类的运行实例,它占用内存并且拥有一定的生命周期。,Slide 25 Suo Wang 2011,面向对象程序设计Java,类和对象的对比,类和对象的对应关系,Car car1;Car car2;Car carN;,class Car,Slide 26 Suo Wang 2011,面向对象程序设计Java,消息和服务,以面向对象开发的程序中有各种对象在协同工作,对象之间使

12、用消息机制进行相互通信,并为其他对象提供服务。对象提供的服务是由对象的方法来实现,发送消息实际上就是调用对象的方法。消息的组成消息发送的目标对象操作的方法名相关参数,Slide 27 Suo Wang 2011,面向对象程序设计Java,接口,接口用于对外提供服务现实中的接口通常是实体,比如:汽车方向盘、换档杆、电源插座、键盘按钮 面向对象中的接口抽象概念,表示系统向外提供的所有服务对象作为服务提供者,通过接口提供服务对象中定义的公有方法声明构成了对象的接口使用接口的优点提高了松耦合性和可扩展性Java语言中定义有接口类型(interface),Slide 28 Suo Wang 2011,面

13、向对象程序设计Java,抽象(Abstract),抽象:从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。(百度百科)对问题领域中的对象进行概括,抽出这一类对象的公共性质(属性/行为)并进行描述。如何实现抽象:对问题领域对象进行分析,提取其属性和行为先注意问题的本质及描述,其次是实现过程或细节。抽象要有选择性的忽略,Slide 29 Suo Wang 2011,面向对象程序设计Java,抽象,面向对象编程中抽象的体现从问题领域的事物到软件对象的抽象从对象到类的抽象从子类到父类的抽象Java语言中的抽象抽象过程抽象的(abstract)所有编程语言都提供抽象机制。可以认为,人们所能

14、够解决的问题的复杂性直接取决于抽象的类型和质量。Java编程思想,Slide 30 Suo Wang 2011,面向对象程序设计Java,封装,封装一种将抽象性的接口的实现细节部份包装、隐藏起来的方法。隐藏对象的属性和实现细节,仅仅对外公开接口。封装的优点便于使用者正确、方便地理解和使用系统,防止使用者错误的修改属性建立各系统之间的松耦合关系,提高系统的独立性提高软件的可重用性降低构建大型系统的风险,Slide 31 Suo Wang 2011,面向对象程序设计Java,封装,封装的基本要求:有一个特定的边界:所有的内部变化都限制在此边界内(类定义的);有外部接口:此对象利用它与其它对象发生关

15、联(public成员);有特定的访问权限:在对象外部不能访问或修改受保护的内部实现细节(private成员)。划分访问控制的原则对外提供简洁的接口把所有属性藏起来,Slide 32 Suo Wang 2011,面向对象程序设计Java,继承,真实世界中的继承关系,Slide 33 Suo Wang 2011,面向对象程序设计Java,继承,面向对象程序设计中的继承基于已有的类创造一个新类。新类(子类/派生类)继承(extends)了父类(超类/基类)的属性和方法,同时可以扩展出新的属性和方法,或者覆盖(Overriding)父类的方法。子类与父类之间是“is a kind of”的关系。子类与

16、父类具有相同的类型。,Slide 34 Suo Wang 2011,面向对象程序设计Java,继承,子类是作为父类的扩充或修正而创造的一个新类。,Slide 35 Suo Wang 2011,面向对象程序设计Java,多态,含义:“同名”但“不同的功能实现形式”。应用体现:即在父类中提供一种方法的实现,但可以在子类对该方法加以重写并给出自己的实现但要求保持功能的实现形式相同。作用:利用对象的多态特性,可以在解决某一类问题时提出一般的解决方法但允许子类根据自己的问题的具体要求加以自己的特殊实现方式。实现的两种方法采用接口:类实现接口的成员采用继承:继承的子类可以覆盖其上层基类的成员,Slide

17、36 Suo Wang 2011,面向对象程序设计Java,多态,Example:动态绑定Java虚拟机在运行时(而不是编译时)确定绑定的子类指针,Slide 37 Suo Wang 2011,面向对象程序设计Java,Chapter 1 面向对象开发方法概述,软件开发方法结构化开发方法面向对象开发方法面向对象开发的核心与概念UML(Unified Modeling Language)语言简介示例程序-Panel系统小结,Slide 38 Suo Wang 2011,面向对象程序设计Java,UML语言简介,UML Unified Modeling Language,统一建模语言,1997年由

18、OMG发布。一种可视化的面向对象的建模语言;为开发团队提供标准的、通用的面向对象设计的图形化建模语言。UML 建模是指对问题领域从静态和动态两个方面进行抽象,并利用 UML 语言记录下来。,Slide 39 Suo Wang 2011,面向对象程序设计Java,UML语言简介,用UML绘制的模型图分为静态和动态两种静态图类图、包图、组件图、用例图动态图状态图、活动图、时序图,Slide 40 Suo Wang 2011,面向对象程序设计Java,UML语言简介,用例图描述了系统提供的一个功能单元用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,Slide 41 Suo Wan

19、g 2011,面向对象程序设计Java,UML语言简介,类图表示不同的实体和彼此的关系显示系统的静态结构绘制类图类类之间的关系依赖、关联、聚合、组合、泛化、实现,Slide 42 Suo Wang 2011,面向对象程序设计Java,UML语言简介,依赖(Dependency)一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的;某个对象的功能依赖于另外的某个对象,而被依赖的对象只是作为一种工具在使用,而并不持有对它的引用;无需在类A中定义类B类型的属性UML表示法:虚线+箭头,Slide 43 Suo Wang 2011,面向对象程序设计Java,UML语言简介,关联(Asso

20、ciation)体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面,为被关联类B以类属性的形式出现在关联类A中UML表示法:实线+箭头,Slide 44 Suo Wang 2011,面向对象程序设计Java,UML语言简介,聚合(Aggregation)聚合关系是关联关系的一种,是强的关联关系,表示has-a的关系。聚合是整体和部分之间的关系,例如汽车由引擎、轮胎以及其它零件组成。聚合关系也是通过成员变量来实现的。但是,关联

21、关系所涉及的两个类处在同一个层次上,而聚合关系中,两个类处于不同的层次上,一个代表整体,一个代表部分。UML表示法:空心菱形+实线+箭头,Slide 45 Suo Wang 2011,面向对象程序设计Java,UML语言简介,组合(composition)表示contains-a的关系,是一种强烈的包含关系。组合类负责被组合类的生命周期,是一种更强的聚合关系,部分不能脱离整体存在。UML表示法:实心菱形+实线+箭头,Slide 46 Suo Wang 2011,面向对象程序设计Java,UML语言简介,泛化(generalization):表示is-a的关系,是对象之间耦合度最大的一种关系,子

22、类继承父类的所有细节。在类图中使用带三角箭头的实线表示,箭头从子类指向父类。,Slide 47 Suo Wang 2011,面向对象程序设计Java,UML语言简介,实现(Realization)指的是类与接口之间的关系在类图中使用带三角箭头的虚线表示,箭头从实现类指向接口。,Slide 48 Suo Wang 2011,面向对象程序设计Java,UML语言简介,依赖关系关联关系聚合关系组合关系,Slide 49 Suo Wang 2011,面向对象程序设计Java,Chapter 1 面向对象开发方法概述,软件开发方法结构化开发方法面向对象开发方法面向对象开发的核心与概念UML(Unified Modeling Language)语言简介示例程序-Panel系统小结,Slide 50 Suo Wang 2011,面向对象程序设计Java,示例程序-Panel系统,Panel系统设计扩展Panel系统提高Panel系统的可维护性运行Panel系统,Slide 51 Suo Wang 2011,面向对象程序设计Java,小结,Page 41 表1-1思考题,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号