面向对象软件开发概述课件

上传人:仙*** 文档编号:242850895 上传时间:2024-09-08 格式:PPTX 页数:57 大小:1.74MB
返回 下载 相关 举报
面向对象软件开发概述课件_第1页
第1页 / 共57页
面向对象软件开发概述课件_第2页
第2页 / 共57页
面向对象软件开发概述课件_第3页
第3页 / 共57页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2020/9/14,#,1.1,面向对象问题求解的提出,软件开发面临的问题,理论上,如何解决复杂,-简化、缩短开发周期、易维护等,语言方面,机器语言-面向过程-面向对象,面向对象的程序设计,结构化程序设计,模块化,数据抽象,信息隐藏,知识表示,并行处理,优点,提高了软件的生产力(,可扩充、可重用,),减小了维护开销,(,复杂性降低、标准件使用),更接近人的思维活动,面向对象方法,分析(,OOA,Object Oriented Analysis,),设计(OOD,Object Oriented Designed,),实现(OOP,Object Oriented Programming,),1.2 面向对象问题求解概述,面向过程,以具体的解题,过程,为研究和实现的主体,面向对象,以解决问题中所涉及到的各种,对象,为主体,面向对象程序设计核心围绕几个概念,抽象数据类型和类,类的层次,-子类,继承和多态,对象,(Object)-,面向对象技术的核心,对象是现实世界的实体或概念在计算机逻辑中的抽象表示,一个对象包含数据结构及相关的操作,例如:某台电视机,特指的某辆汽车,黑盒,用户,只关心能做什么?如汽车的功能:代步、运输等等,而不必关心具体内部原理,即如何做?,面向对象的程序是由对象组成,这些对象应具有以下特征:,自治性:,数据结构和操作合为一体,且私有和公有分开,可以达到保护、减少干扰、降低复杂性、提高可靠性。,自恰性:,可以通过自身定义的操作来管理自己,接口和消息机制:,消息隐藏、通过接口体现功能,.,抽象,抽象的概念,从特定的实体中抽取共性形成一般化概念的过程,简化了的描述,强调共性,忽略一部分细节,描述,说明,解释实现,抽象是具有层次的,高层抽象视其低层抽象为它的一种实现,是人们理解复杂现象和求解复杂问题中处理复杂性的重要工具,面向对象的抽象原理,数据抽象,模块化,信息隐藏,行为共享,进化,确定性,类,类的概念,创建对象的样板,包含外部接口和内部算法以及数据结构的形式,简单化:是同种对象的集合与抽象,例:电脑是一个类(手提式、台式、掌上电脑,),实体与对象的关系,实体,现实世界(电视机、汽车),对象计算机世界(电视的属性和功能),对象,计算机世界,类,现实世界,实体,抽象数据类,映射,计算机逻辑的实现,实例化,抽象,抽象,概念世界,面向对象技术的一个关键的设计思想,让计算机逻辑来模拟现实世界的物理存在,让计算机世界向现实世界靠拢,面向对象,反之让现实向计算机靠拢面向过程,最终目的,接近自然的思维模式,更接近于现实问题的本来面目的方法、设计,缩短开发周期,易于维护,对客观世界进行抽象的例子,1 自行车:,数据(属性),车架尺寸,车轮尺寸,牌子,材料名称,操作,变速,移动,修理,2 窗口菜单:,数据(属性):,颜色,样式,标题,位置,操作:,选择,增加,移动,1.3 对象的属性,1.3.1,对象的属性,对象的状态,(又称静态属性),对象内部所包含的各种信息,即变量。,行为又称操作或方法,(动态属性),其作用是设置或改变对象的状态,方法,(行为)和状态的关系,状态,是否开启,所在频道,行为:打开,行为:改变频道,以电视机为例,方法将对象的内部变量(状态)包裹、封装、保护,只能通过方法改变状态,方法是对象与外界交互的接口,面向对象的问题求解的,最终目的,最终形成一个广泛联系的、可理解的、可扩充的、可维护的更接近问题原形的动态对象模型系统,对象、实体与类关系,对象:现实世界中某个具体的物理实体在计算 机逻辑中的映射和体现,类:是一种抽象的数据类型,是同种对象的集合与抽象。属于类的某一个对象则被称为类的一个实例,鸭子:类,那只红嘴巴的鸭子:对象,手表:类,老王的手表:对象,1.3.2,对象的关系,包含,当对象,A是对象B的属性时,称对象B包含对象A。,例:电视机显像管,汽车发动机,继承,当对象A是对象B的特例时,称对象A继承了对象B。,例:小汽车(小轿车、小货车、小客车),学生(小学生、中学生、大学生),父公共关系集合,子除公共以外,有属于自己的特殊属性,关联,当对象A的引用是对象B的属性时,称对象A、B为关联关系,对象的引用:可以获取或操作该对象的途径(线索),例:汽车对象中包含厂商对象的线索(厂名、址、电话),注意:,包含和继承,的区别,包含:是整体中不可缺少的一个部分,继承:是在已有之上细化(具体化、扩充),是一般与特殊的结构关系.,包含和关联,的区别,包含:含有实体,关联:不含实体,只包含与实体相关的线索,1.4 面向对象的软件开发过程,需求分析(需求模型:对象模型,动态行为模型,用户界面模型),设计(概要设计,详细设计),实现(选择语言,编码,集成,测试),1.4.1,面向对象的分析,任务:用户需求,OOA模型的设计和表达方法(五个层次),对象类层,现实世界到计算机世界(对象、类)的抽象,静态属性层,设计对象的状态及各对象间的约束关系,服务层(方法层),定义对象和类的动态属性及对象之间的消息通信,结构层,定义系统中的所有对象和类之间的层次结构关系,主题层,划分子系统,1.4.2 面向对象的设计,OOD模型划分为四个部分,问题逻辑,界面管理,负责整个系统的人-机界面设计,任务管理,负责处理并行操作之类的系统资源管理功能的工作,数据管理,负责设计系统与数据库的接口,分为四个部分的优点,技术实现上的透明性,可重用性大大提高,维护更容易,问题逻辑部分的任务,对最初的OOA模型进一步细化分析、设计和验证,细化分析包括,对类静态数据的确定,对类方法的参数、返值、功能实现的明确规定,细化验证包括,各对象类公式间的相容性和一致性,各个类间、类内成员的访问权限的严格合理性,对象类的功能是否符合用户需求,详细设计原则,充分利用已存在的,可获得的对象类或部件,分析哪些类或哪些功能是可重用的,交专人优先开发,大型项目设专人管理可重用资源,组成类库或其它可重用结构,充分、合理地利用资源,1.4.3 面向对象的实现,编码阶段,选择语言,用语言编码实现详细设计阶段所得公式、图表、说明和规划等对软件系统各对象类的详尽描述,将类代码模块根据类的相互关系集成(层次),按测试样例进行模块及系统测试,测试可与编码同步完成。,1.5 面向对象程序设计的特点,抽象-,简化描述、抽取共性,封装,所有对象内部软件范围具有清晰的边界,描述该对象与其它对象如何相互作用的接口,受保护的内部实现,继承,-,层次关系、创建新类的一种方法,多态,不同对象对同一种信息可以按照对象本身的性质加以回应,动态联编,-运行时真正锁定需要的对象,1.6 面向对象程序设计方法的优点,可重用性,面向对象软件开发的核心思路,可扩展性,(快速原型法),从简单起,不断补充、延伸,可管理性,由于封装,便于管理,1.7 第一章小结,面向对象问题的提出和求解的基本过程,基本概念,对象、类、实体及其相互关系,对象的属性(状态和行为),对象间的关系,包含:部分,-整体,继承:一般-特殊,关联:相关的一条线索,软件工程开发方法(OOA-OOD-OOP),面向对象程序设计的特点,(抽象、封装、继承、多态、动联),面向对象程序设计方法的优点,(可重用、扩展、管理),作业:,1,、按照数据抽象原理,体现面向对象的设计要求,给出几何图形(如:点、线、多边形、圆等)的继承关系层次图。,2,、给出对象计算机、对象,“,联想,”,牌计算机、对象,CPU,及对象计算机商家(或厂家)之间的关系。,一、Java的发展历史,1991,Sun 成立由James Gosling领导的Green小组,开发了Oak语言;,1995.1,James Gosling 和Naughton 完成Oak新版与第一个基于Oak的应用程序Web Runner。,Oak, Java,WebRunner, HotJava,支持Java的第二代浏览器,1998年底,发布J2SDK。,目前最新版本是JDK7,James Gosling,Java 2 平台,Java 2 Platform Standard Edition,J2SE,Java 2 Platform Enterprise Edition,J2EE,Java 2 Platform Micro Edition,J2ME,Java 开发平台,Java 语言,Java是一种编程语言。,Java又是一种平台。,Java编程语言,Java 平台,Java 的特征,Sun在JAVA“白皮书”中指出:,JAVA是一种“,简单、面向对象、分布式、解释型、健壮、安全、体系结构中立、可移植、高性能和动态,”的编程语言,极尽赞美之辞也不为过!,二、Java的语法机制概述,与C+一致的语法机制:(同),数据类型、表达式、程序流控制、结构化,异常处理等;,与C+不同的语法机制,“(异),类,、,接口,(Interface)、,程序包,(Package)、,自动内存回收以及多线程,。,Java与C+不同的语法机制,类: 最重要、最基本的语法,类的定义与继承与 C+类似,主要区别:,Java不允许多重继承,多重继承必须通过接口实现。,Java引进了abstract 和final,修饰词。,带,abstract的类称为抽象类,只能作为父类使用, 不能直接产生实例对象。,带final的类不能用作父类被继承, 带final的属性在定义式必须赋初值并称为常量,带final的方法将 禁止子类(Overriding)。,Java与C+不同的语法机制,接口,是一种抽象类,其中只能出现静态常量或抽象方法定义。,主要目的是实现多重继承功能,避免C+在多重继承,语义上的复杂性。,一个JAVA类可以实现(继承)多个接口。,Java与C+不同的语法机制,程序包(package),是一些相关类或接口的集合。,JAVA提供包括可重用类标准程序包,用户可自,定义程序包。,通过 import 语句将程序包引入应用程序。,Java与C+不同的语法机制,自动内存回收,JAVA,取消了指针类型,所有动态内存请求均,通过,new,运算符,并且得到的不是指针而是引用。,系统进行内存回收。,多线程,依赖操作系统提供的线程管理的,API:,与平台绑定,语言级支持多线程:忽略操作系统多线程机制的差,异,软件具有更好的可靠性和可移植性。,三、JAVA运行系统,Java运行系统的构成,类装配器,字节码验证器,解释器,代码生成器,运行支持库,Java运行环境的种类,JAVA Application - JAVA解释器,JAVA Applet- JAVA兼容的Web浏览器,JAVA程序运行过程,Hello.java,Javac Hello.java,Hello.class,网络,类装配器,字节码验证器,解释器,代码生成器,运行支持库,本地系统,编译,运行,四、JAVA常用开发工具,JDK(Sun),命令行,Eclipse,JCreator(XINOX),NetBeans(Sun),Java Studio Creator( Sun ),JBuilder(Borland),Visual Age for Java(IBM),4.1 JDK1.6的获取与安装,从, c:javabin;,CLASSPATH = .;c:javalib,4.1,JDK安装目录结构简介,1软件安装的根目录,包含版权、许可以及README文件。还包括:src.zip构成Java平台核心API的所有类的源文件的归档。,2bin目录,包含JDK开发工具的可执行文件。,3lib目录,开发工具使用的归档包文件。,4jre目录,Java运行时环境的根目录。,其子目录 jrebin中包含Java平台使用的工具和库的可执行文件及DLL。,5demo目录: 含有资源代码的程序示例,4.1,JDK目录结构中bin目录下主要,开发工具的可执行文件,简介,(1)javac:Java语言的编译器。,(2)java:Java应用程序执行引擎,类名后面可带一个或多个字符串参数。,(3)javadoc:API生成器,对当前类生成HTML格式的API文档。,(4) appletviewer:小应用程序浏览器。,(5)jar:Java Archive文件归档工具,用它可以把类文件以及其他格式的文件进行压缩,以便于程序中引入以及网络传输等。,(6)jdb:Java调试工具Debugger。,Java的API(Application Program Interface),Java的API文档是Java程序开发的最好帮手,从 class 类名 extend 父类名,type 类变量1;,type 类变量2;,修饰符 type 类方法1(参数列表),type 局部变量;,方法体,修饰符 type 类方法2(参数列表),type 局部变量;,方法体,成员变量,成员方法,Java应用程序举例,/ HelloWorldApp.java:,public class HelloWorldApp,public static void main( String args ),System.out.println(,“,Hello World!,”,);,Java,程序编写、编译过程,main,声明-,Java,程序入口点,格式,public static void main(String args) ,源文件的名字与,main(),方法所在的类名相同,,扩展名必须是 .,java。,编译,javac HelloWordApp.java,生成,HelloWorldApp.class,运行,java HelloWorldApp,4.3 Eclipse的安装与使用,下载地址http:/www.eclipse.org/downloads,最新的,Eclipse,1、,Eclipse启动,2、选择一个workspace启动,3、创建一个新工程 File,newproject,4、输入工程名(如Test),点击finish,5、创建java类:点击工程名Test右键,newClass,6、在Name输入框输入类名,如Helloword,7、编辑、运行、调试,运行Java应用程序:,Run,Run AsJava Application,若用外面参数传入main方法的args参数,则,Run,Run,若要调试,则RunDebug具体见调试方法,经常,不断地学习,你就什么都知道。你知道得越多,你就越有,力量,Study Constantly, And You Will Know Everything. The More You Know, The More Powerful You Will,Be,学习总结,结束语,当,你尽了自己的最大努力,时,,,失败,也是伟大,的,所以不要放弃,坚持就是正确的。,When You Do Your Best, Failure Is Great, So DonT Give Up, Stick To The,End,演讲,人:,XXXXXX,时,间:,XX,年,XX,月,XX,日,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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