JavaSE编程基础-02.ppt

上传人:asd****56 文档编号:87337978 上传时间:2023-04-16 格式:PPT 页数:33 大小:2.52MB
返回 下载 相关 举报
JavaSE编程基础-02.ppt_第1页
第1页 / 共33页
JavaSE编程基础-02.ppt_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《JavaSE编程基础-02.ppt》由会员分享,可在线阅读,更多相关《JavaSE编程基础-02.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第2 2章章理解面向对象理解面向对象本章目标本章目标v理解结构化程序设计理解结构化程序设计v理解程序结构(顺序、分支、循环)理解程序结构(顺序、分支、循环)v理解面向对象程序设计理解面向对象程序设计v理解继承、封装、多态理解继承、封装、多态vUMLUML简介简介v理解理解JavaJava面向对象的特征面向对象的特征4/8/20232结构化程序设计思想结构化程序设计思想v结构化程序设计主张以一种面向过程的思维,按照功结构化程序设计主张以一种面向过程的思维,按照功能、用途来分析、设计、编写程序;这种思想有如下能、用途来分析、设计、编写程序;这种思想有如下缺点:缺点:设计不够直观,与人类思维不一致

2、;开发者将世界模型设计不够直观,与人类思维不一致;开发者将世界模型分解为一个一个功能,事实上功能是由工具(对象)提分解为一个一个功能,事实上功能是由工具(对象)提供的;只看到功能没有看到对象供的;只看到功能没有看到对象适应性差,扩展性不强;结构化设计要求自上而下的设适应性差,扩展性不强;结构化设计要求自上而下的设计模式;当需求发生改变时,程序上游的修改将严重影计模式;当需求发生改变时,程序上游的修改将严重影响下游,容易导致程序不合理的大规模修改,增加维护响下游,容易导致程序不合理的大规模修改,增加维护成本成本4/8/20233程序的三种基本结构程序的三种基本结构3-13-1v顺序结构顺序结构一

3、套流水过程,整个过程中一套流水过程,整个过程中没有选择,没有重复没有选择,没有重复4/8/20234程序的三种基本结构程序的三种基本结构3-23-2v分支结构分支结构单分支、双分支、多重分支单分支、双分支、多重分支4/8/20235程序的三种基本结构程序的三种基本结构3-33-3v循环结构循环结构当判断条件满足时,就开始循环执行某一过程,然后再当判断条件满足时,就开始循环执行某一过程,然后再进行判断,直到条件不满足了,才跳出循环进行判断,直到条件不满足了,才跳出循环4/8/20236面向对象的程序设计思想面向对象的程序设计思想2-12-1v它的基本思想是使用类、对象、继承、封装、消息等它的基本

4、思想是使用类、对象、继承、封装、消息等基本概念来进行程序设计;它强调以对象为核心,从基本概念来进行程序设计;它强调以对象为核心,从现实世界中客观存在的事物(对象)为出发点来构筑现实世界中客观存在的事物(对象)为出发点来构筑软件世界。软件世界。从世界的角度来看:世界是由各种各样具有自己的运行从世界的角度来看:世界是由各种各样具有自己的运行规律的事物(对象)构成的;理论上讲这些事物(对象)规律的事物(对象)构成的;理论上讲这些事物(对象)都是可以有设计图纸(类)的;很多事物之间存在紧密都是可以有设计图纸(类)的;很多事物之间存在紧密的内在联系,它们之间的关系甚至是继承发展的。的内在联系,它们之间的

5、关系甚至是继承发展的。4/8/20237面向对象的程序设计思想面向对象的程序设计思想2-22-2v面向对象的方法是面向对象的世界观在软件开发中的面向对象的方法是面向对象的世界观在软件开发中的直接运用直接运用v这种思想的优势在于:与人类的习惯思维方法一致;这种思想的优势在于:与人类的习惯思维方法一致;稳定性好;可重用性好;易于开发大型软件产品;可稳定性好;可重用性好;易于开发大型软件产品;可维护性好维护性好4/8/20238面向对象的基本特征面向对象的基本特征2-12-1v三大基本特征:三大基本特征:继承(继承(InheritanceInheritance),继承是实现程序复用的重要手),继承是

6、实现程序复用的重要手段,在面向对象编程语言中,类与类之间的关系存在着段,在面向对象编程语言中,类与类之间的关系存在着父子关系、祖孙关系等等。父子关系、祖孙关系等等。例:车与汽车就是继承发展的关系。例:车与汽车就是继承发展的关系。封装(封装(EncapsulationEncapsulation),封装指的是将对象的细节隐),封装指的是将对象的细节隐藏起来,通过一些公用方法提供对象的功能。藏起来,通过一些公用方法提供对象的功能。例:有谁在开车的时候关心汽车的工作原理?例:有谁在开车的时候关心汽车的工作原理?多态(多态(PolymorphismPolymorphism),子类对象将具有自我特征的变)

7、,子类对象将具有自我特征的变量赋值给父类对象,使父类对象具有多种行为特征量赋值给父类对象,使父类对象具有多种行为特征例:请学一种动物的叫声,张三学猫叫,李四学狗叫例:请学一种动物的叫声,张三学猫叫,李四学狗叫4/8/20239面向对象的基本特征面向对象的基本特征2-22-2v对象(对象(ObjectObject):万物皆对象,每个对象都具有标识):万物皆对象,每个对象都具有标识的惟一性、分类性、多态性、封装性、模块的独立性的惟一性、分类性、多态性、封装性、模块的独立性v类(类(ClassClass):对象的设计图、对象的抽象体):对象的设计图、对象的抽象体v消息(消息(MessageMessa

8、ge):对象与对象之间传递信息的机制):对象与对象之间传递信息的机制-道生一,一生二,二生三,三生万象;道生一,一生二,二生三,三生万象;所有的其它类都由一个基类继承发展而来。所有的其它类都由一个基类继承发展而来。4/8/202310小结小结v程序有哪三种基本结构?程序有哪三种基本结构?v面向对象程序设计思想有哪三种基本特征?面向对象程序设计思想有哪三种基本特征?v讨论面向过程与面向对象思想的差异。讨论面向过程与面向对象思想的差异。4/8/202311UMLUML统一建模语言介绍统一建模语言介绍v规范的面向对象软件开发过程需要经过三个阶段:规范的面向对象软件开发过程需要经过三个阶段:OOAOO

9、A(面向对象分析):对目标系统进行分析,并建立(面向对象分析):对目标系统进行分析,并建立分析模型,将之文档化分析模型,将之文档化OODOOD(面向对象设计):用面向对象思想对(面向对象设计):用面向对象思想对OOAOOA的结果进的结果进行细化,设计出设计模型行细化,设计出设计模型OOPOOP(面向对象编程):用一种或多种编程语言将(面向对象编程):用一种或多种编程语言将OODOOD设设计模型程序化,建立软件系统计模型程序化,建立软件系统vUMLUML就是这种将就是这种将OOAOOA、OODOOD过程进行描述、记录的一种符过程进行描述、记录的一种符号表示法号表示法4/8/202312UMLUM

10、L统一建模语言介绍统一建模语言介绍v诞生于诞生于2020世纪世纪80809090年代,用于解决面向对象软件开年代,用于解决面向对象软件开发前期对于业务进行分析并建立软件开发模型。发前期对于业务进行分析并建立软件开发模型。v早期有三种具有代表性的表示法:早期有三种具有代表性的表示法:Booch 1993Booch 1993表示法,表示法,BoochBooch(布奇)提出(布奇)提出OMT-2OMT-2表示法,表示法,RumbaughRumbaugh(詹姆斯)等提出(詹姆斯)等提出OOSEOOSE方法,方法,JacobsonJacobson(雅各布森)提出(雅各布森)提出vUMLUML统一并发展了

11、众多表示方法,成为大众所接受的标统一并发展了众多表示方法,成为大众所接受的标准建模语言准建模语言v两个里程碑版本两个里程碑版本UML 1.1UML 1.1UML 2.0UML 2.04/8/202313UML 2.0UML 2.0图形图形vUMLUML大致可分为静态图与动态图两种大致可分为静态图与动态图两种vUML 2.0UML 2.0共有共有1313种图形:种图形:活动图活动图(Activity DiagramActivity Diagram)、)、类图类图(Class DiagramClass Diagram)、)、通信图(通信图(Communication DiagramCommunic

12、ation Diagram)、)、组件图组件图(Component Component DiagramDiagram)、复合结构图()、复合结构图(Composite Structure DiagramComposite Structure Diagram)、)、部署图部署图(DeploymentDeployment)、交互概观图()、交互概观图(Interactive Interactive Overview DiagramOverview Diagram)、包图()、包图(Package DiagramPackage Diagram)、)、顺序图顺序图(Sequence DiagramSe

13、quence Diagram)、)、状态机图状态机图(State Machine State Machine DiagramDiagram)、定时图()、定时图(Timing DiagramTiming Diagram)、)、用例图用例图(UseCase UseCase DiagramDiagram)v很很少少有有哪哪个个软软件件工工程程会会把把1313种种图图形形全全用用上上,红红字字显显示示的为常用的图形的为常用的图形-UML-UML是提升软件工程效率的手段,不是学习负担是提升软件工程效率的手段,不是学习负担4/8/202314常用常用UMLUML工具软件介绍工具软件介绍4-14-1vMi

14、crosoft Office VisioMicrosoft Office Visio4/8/202315常用常用UMLUML工具软件介绍工具软件介绍4-24-2vastahUMLastahUML网址网址 http:/ http:/ http:/ http:/ Software ArchitectRational Software Architect,市场占有率很大;,市场占有率很大;还有一些基于还有一些基于EclipseEclipse的的UMLUML插件,这里就不再一一介插件,这里就不再一一介绍了;总而言之绍了;总而言之UMLUML开发工具有很多,大家可以去找开发工具有很多,大家可以去找符合自

15、己的使用习惯的来使用符合自己的使用习惯的来使用4/8/202318UMLUML常用图形常用图形7-17-1v用例图(用例图(UseCase DiagramUseCase Diagram)用于描述系统所提供的功能,每个用例图描述一个功能用于描述系统所提供的功能,每个用例图描述一个功能模块;描述用例、角色、用例与角色之间的关系、用例模块;描述用例、角色、用例与角色之间的关系、用例与用例之间关系;主要在需求分析阶段使用与用例之间关系;主要在需求分析阶段使用4/8/202319UMLUML常用图形常用图形7-27-2v类图(类图(Class DiagramClass Diagram)在在UMLUML的

16、静态机制中类图是一个重点,它不但是设计人的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是程序编码人员关注的核心。建模工员关心的核心,更是程序编码人员关注的核心。建模工具也主要根据类图来产生代码具也主要根据类图来产生代码4/8/202320UMLUML常用图形常用图形7-37-3v组件图(组件图(Component DiagramComponent Diagram)组件图的主要目的是显示系统组组件图的主要目的是显示系统组件间的结构关系。在件间的结构关系。在 UML1.1 UML1.1中,中,一个组件表现了实施项目,如文一个组件表现了实施项目,如文件和可运行的程序。件和可运行的程序。U

17、ML2UML2正式改正式改变了组件概念的本质意思;在变了组件概念的本质意思;在UML2UML2中,组件被认为是独立的,中,组件被认为是独立的,在一个系统或子系统中的封装单在一个系统或子系统中的封装单位(如位(如JavaJava语言中的语言中的jarjar或或warwar包)包),提供一个或多个接口,提供一个或多个接口4/8/202321UMLUML常用图形常用图形7-47-4v部署图(部署图(DeploymentDeployment)现代软件工程早已超现代软件工程早已超出早期的单机程序,出早期的单机程序,整个软件工程可能是整个软件工程可能是跨国家、地区的分布跨国家、地区的分布式系统。部署图就是

18、式系统。部署图就是用来描述软件是如何用来描述软件是如何部署在这些不同的地部署在这些不同的地理、硬件环境中的理、硬件环境中的4/8/202322UMLUML常用图形常用图形7-57-5v顺序图(顺序图(Sequence Sequence DiagramDiagram)又称之为时序图,是显示对又称之为时序图,是显示对象之间交互的图,这些对象象之间交互的图,这些对象是按时间顺序排列的。顺序是按时间顺序排列的。顺序图中显示的是参与交互的对图中显示的是参与交互的对象及其对象之间消息交互的象及其对象之间消息交互的顺序。时序图中包括的建模顺序。时序图中包括的建模元素主要有:元素主要有:对象(对象(Actor

19、Actor)生命线(生命线(LifelineLifeline)控制焦点(控制焦点(Focus of Focus of controlcontrol)消息(消息(MessageMessage).4/8/202323UMLUML常用图形常用图形7-67-6v活动图(活动图(Activity Activity DiagramDiagram)是是UMLUML用于对系统的动用于对系统的动态行为建模的另一种态行为建模的另一种常用工具,它描述活常用工具,它描述活动的顺序,展现从一动的顺序,展现从一个活动到另一个活动个活动到另一个活动的控制流。活动图在的控制流。活动图在本质上是一种流程图。本质上是一种流程图。

20、活动图着重表现从一活动图着重表现从一个活动到另一个活动个活动到另一个活动的控制流,是内部处的控制流,是内部处理驱动的流程理驱动的流程4/8/202324UMLUML常用图形常用图形7-77-7v状态机图(状态机图(State Machine DiagramState Machine Diagram)是一个对象所可能经历的所有历程的模型图。状态机由对象是一个对象所可能经历的所有历程的模型图。状态机由对象的各个状态和连接这些状态的转换组成。每个状态是对象在的各个状态和连接这些状态的转换组成。每个状态是对象在其生命期中满足某种条件的一个时间段建模。当事件发生时,其生命期中满足某种条件的一个时间段建模

21、。当事件发生时,它会触发状态间的转换,导致对象从一种状态转化到另一新它会触发状态间的转换,导致对象从一种状态转化到另一新的状态。的状态。4/8/202325小结小结v面向对象软件开发工程分哪三个阶段?面向对象软件开发工程分哪三个阶段?vUMLUML统一建模语言适用于哪个阶段?统一建模语言适用于哪个阶段?v简单回顾简单回顾UML 7UML 7种常用的图形。种常用的图形。注:关于注:关于UMLUML语言,会在后面专门开辟这一门课程。在这语言,会在后面专门开辟这一门课程。在这里只是给大家作简单的介绍,引领大家入门。这门课里只是给大家作简单的介绍,引领大家入门。这门课程不难,更希望大家能够通过自学就掌

22、握这门知识,程不难,更希望大家能够通过自学就掌握这门知识,在以后的工作中,不但能读懂在以后的工作中,不但能读懂UMLUML图形,甚至能够设计图形,甚至能够设计UMLUML图形。在软件工程当中,它真的很有用。图形。在软件工程当中,它真的很有用。4/8/202326JavaJava的面向对象特征的面向对象特征4-14-1vJavaJava是纯粹的面向对象语言,完全支持面向对象三大是纯粹的面向对象语言,完全支持面向对象三大基本特征:继承、封装、多态。基本特征:继承、封装、多态。vJavaJava程序的组成单位就是类,类中包含属性与方法程序的组成单位就是类,类中包含属性与方法属性:又称之为字段,用于描

23、述对象;属性:又称之为字段,用于描述对象;方法:又称之为函数,实现对象的功能。方法:又称之为函数,实现对象的功能。4/8/202327JavaJava的面向对象特征的面向对象特征4-24-2vJavaJava面向对象的特征在程序结构中的简单体现面向对象的特征在程序结构中的简单体现public class public class PersonPerson /定义类;定义类;private int private int Age;Age;/定义属性;定义属性;private private String Name;String Name;/定义属性;定义属性;public static void

24、 public static void main(String args)main(String args)Person liXL=Person liXL=new new Person();Person();/生成对象实例;生成对象实例;liXL.Name=liXL.setName(liXL.Name=liXL.setName(李小龙李小龙););System.out.println(liXL.Name);System.out.println(liXL.Name);String setName(String sName)String setName(String sName)/定义方法;定义方

25、法;returnreturn sName;sName;4/8/202328JavaJava的面向对象特征的面向对象特征4-34-3v万物皆对象万物皆对象即使是即使是JavaJava程序本身,也是对象。程序本身,也是对象。从最简单的数字到最复杂的飞机,都可以看作是对象。从最简单的数字到最复杂的飞机,都可以看作是对象。对象实现了数据与操作的结合,将数据与操作都封装在对象实现了数据与操作的结合,将数据与操作都封装在对象的统一体里。对象的统一体里。对象是对象是JavaJava程序的核心,在程序的核心,在JavaJava程序中具有唯一性,用程序中具有唯一性,用唯一的标识来标识它;唯一的标识来标识它;Ja

26、vaJava不允许直接访问对象,只能不允许直接访问对象,只能通过引用来访问它。通过引用来访问它。4/8/202329JavaJava的面向对象特征的面向对象特征4-44-4v类和对象类和对象对象的抽象是类,对象的抽象是类,“抽象抽象”这个词太抽象了;现阶段,这个词太抽象了;现阶段,可以把类想象成对象的设计图。可以把类想象成对象的设计图。JavaJava中的类与类之间存在两种关系:中的类与类之间存在两种关系:继承关系:一些类与类之间存在父子继承关系,即一些类继承关系:一些类与类之间存在父子继承关系,即一些类是从某一个类发展而来;注意,是从某一个类发展而来;注意,JavaJava中存在的基类叫中存

27、在的基类叫“Object”“Object”,它是,它是JavaJava其它类的万类之祖。其它类的万类之祖。例如:汽车类与卡车类的关系。例如:汽车类与卡车类的关系。组合关系:一个类中引用了另一个类的对象。组合关系:一个类中引用了另一个类的对象。例如:卡车类与发动机类的关系。例如:卡车类与发动机类的关系。4/8/202330JAVAJAVA学习路线图学习路线图v路线图浅红色部分为难点路线图浅红色部分为难点引用自李刚的疯狂引用自李刚的疯狂JavaJava讲义讲义4/8/202331总结总结v理解结构化程序设计理解结构化程序设计v理解程序结构(顺序、分支、循环)理解程序结构(顺序、分支、循环)v理解面向对象程序设计理解面向对象程序设计v理解继承、封装、多态理解继承、封装、多态vUMLUML简介简介v理解理解JavaJava面向对象的特征面向对象的特征4/8/202332

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁