Java面向对象编程基础IT168文库.ppt
《Java面向对象编程基础IT168文库.ppt》由会员分享,可在线阅读,更多相关《Java面向对象编程基础IT168文库.ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 淮海工学院淮海工学院 计算机课程第3章 Java面向对象编程基础3.1面向对象软件开发概述3.2 Java的类3.3 Java的非访问控制符3.4 Java的访问控制符3.5 定义和使用Java的方法3.6 面向对象分析实例(补充)淮海工学院淮海工学院 计算机课程学习要点:学习要点:1.1.理解面向对象程序设计的基本概念理解面向对象程序设计的基本概念2.2.理解理解JavaJava包中类的基本概念,掌握定义包中类的基本概念,掌握定义JavaJava类和类和创建对象的方法创建对象的方法3.3.掌握构造函数:构造函数的特点、构造函数的定掌握构造函数:构造函数的特点、构造函数的定义义4.4.掌握掌
2、握JavaJava的访问控制符:的访问控制符:publicpublic、privateprivate、protectedprotected、private protectedprivate protected5.5.掌握掌握JavaJava的非访问控制符:的非访问控制符:staticstatic、abstractabstract、finalfinal6.6.理解方法的形式参数与实际参数、方法的返回值、理解方法的形式参数与实际参数、方法的返回值、方法的调用过程方法的调用过程 淮海工学院淮海工学院 计算机课程 面向对象是一种新兴的程序设计方法面向对象是一种新兴的程序设计方法,或者是一种新或者是一种
3、新的程序设计规范的程序设计规范,其基本思想是其基本思想是使用对象、类、继承、使用对象、类、继承、封装、消息等基本概念来进行程序设计封装、消息等基本概念来进行程序设计。从现实世界中。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。在系统构造中尽可能运用人类的自然思维方式。对象是系统中用来描述客观事物的一个实体,它是构对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。成系统的一个基本单位。一个对象由一组属性和对这组一个对象由一组属性和对这组属性进行操作的一组服务组成属性进行操作的
4、一组服务组成。3.1 面向对象软件开发概述面向对象软件开发概述 淮海工学院淮海工学院 计算机课程图图2.1 对象、实体与类对象、实体与类 淮海工学院淮海工学院 计算机课程设计方法设计方法特点特点代表性语言代表性语言面向机器面向机器用机器指令为特定硬件系统编制程序,用机器指令为特定硬件系统编制程序,其目标代码短,运行速度和效率高,但其目标代码短,运行速度和效率高,但可读性和移植性差。可读性和移植性差。86系列汇编语言系列汇编语言面向过程面向过程用高级程序设计语言按计算机能够理解用高级程序设计语言按计算机能够理解的逻辑来描述要解决的问题及其解决方的逻辑来描述要解决的问题及其解决方法,是过程驱动的,
5、程序的可读性和移法,是过程驱动的,程序的可读性和移植性好,核心是数据结构和算法。但植性好,核心是数据结构和算法。但大大型程序维护起来比较困难。型程序维护起来比较困难。Fortran(50年代)年代)Basic(60年代)年代)C(70年代)年代)面向对象面向对象用面向对象的编程语言把现实世界的实用面向对象的编程语言把现实世界的实体描述成计算机能理解、可操作的、具体描述成计算机能理解、可操作的、具有一定属性和行为的对象,将数据及数有一定属性和行为的对象,将数据及数据的操作封装在一起,通过调用各对象据的操作封装在一起,通过调用各对象的不同方法来完成相关事件,是事件驱的不同方法来完成相关事件,是事件
6、驱动的,其核心是类和对象,程序易于维动的,其核心是类和对象,程序易于维护护、扩充。、扩充。C+(80年代)年代)VB(90年代)年代)Object Pascal(90年代)年代)Java(90年代)年代)3.1.1 程序设计方法的发展程序设计方法的发展 淮海工学院淮海工学院 计算机课程3.1.2 面向对象的几个基本概念面向对象的几个基本概念类(类(Class)是定义了对象特征以及对象外观和行为的模板是定义了对象特征以及对象外观和行为的模板,是同种对是同种对象的集合与抽象。类是一种抽象数据类型象的集合与抽象。类是一种抽象数据类型。对象(对象(Object)是现实世界中某个具体的物理实体在计算机逻
7、辑中的映是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现,是具有唯一对象名和固定对外接口的一组属射和体现,是具有唯一对象名和固定对外接口的一组属性和操作的集合,是类的一个实例,具有所在类所定义性和操作的集合,是类的一个实例,具有所在类所定义的全部属性和方法。的全部属性和方法。属性(属性(Property)是对象的特征,包括状态和行为。是对象的特征,包括状态和行为。属性动态属性也叫行为,在计算机内用方法表示静态属性也叫状态,在计算机内用变量表示 淮海工学院淮海工学院 计算机课程对象的关系对象的关系 包含包含当对象当对象A是对象是对象B的属性时,称对象的属性时,称对象B包含对象包含对象A;
8、如:学生和班级,如:学生和班级,CPU与计算机与计算机 继承继承当对象当对象A是对象是对象B的特例时,称对象的特例时,称对象A继承了对象继承了对象B 如:北京大学和大学,液晶显示器和显示器。如:北京大学和大学,液晶显示器和显示器。关联关联当对象当对象A的引用是对象的引用是对象B的属性时,称对象的属性时,称对象A和对象和对象 B之间是关联关系。之间是关联关系。如计算机与制造商,学生和班主任如计算机与制造商,学生和班主任方法(方法(Method)与对象相联系的由程序执行的一个与对象相联系的由程序执行的一个处理过程处理过程,类似于面向过程中的函数。,类似于面向过程中的函数。事件(事件(Event)由
9、对象识别的一个动作。由对象识别的一个动作。面向对象的程序设计是通过对类、子类和对象等的设计来体面向对象的程序设计是通过对类、子类和对象等的设计来体现的,现的,类和对象是类和对象是面向对象程序设计技术的面向对象程序设计技术的核心核心。淮海工学院淮海工学院 计算机课程继承性继承性(inheritance)自动地共享具有层次关系的类自动地共享具有层次关系的类(子类子类)和对象中的方法和和对象中的方法和数据的机制。数据的机制。当类当类Y继承类继承类X时,就表明类时,就表明类Y是类是类X的子类,而类的子类,而类X是类是类Y的超的超/父类。类父类。类Y由两部分组成:继承部分和增加部分。由两部分组成:继承部
10、分和增加部分。增加部分是专为增加部分是专为Y编写的新代码;继承部分可以是简单的编写的新代码;继承部分可以是简单的等同,也可以更为丰富:如对性质重命名、重实现、复制、等同,也可以更为丰富:如对性质重命名、重实现、复制、置空等。置空等。XY继承部分继承部分 增加部分增加部分 Y继承X 淮海工学院淮海工学院 计算机课程继承方式:继承方式:简单继承简单继承(single inheritance):一个类至多只能继承一个一个类至多只能继承一个 类类(树结构树结构)。多重继承多重继承(multiple inheritance):一个类直接继承多个超一个类直接继承多个超 类类(网状结构网状结构)。()。()
11、类Y1,Y2简单继承类XXYY2Y1X1X2类Y多重继承类X1,X2 淮海工学院淮海工学院 计算机课程例:一个图形系统例:一个图形系统()Figure Line Ellipse Polygon Close Figure Open Figure Pentagon Triangle Rectangle Circle Arc (象素宽度,颜色,平移,旋转)(填充,边界,周长,面积)(长度)淮海工学院淮海工学院 计算机课程3.1.3 面向对象的软件开发过程面向对象的软件开发过程 面向对象的软件开发过程可以大体划分为三个阶段:面向对象的软件开发过程可以大体划分为三个阶段:面向对象的分析(面向对象的分析(
12、object oriented analysis,OOA)面向对象的设计(面向对象的设计(object oriented design,OOD)面向对象的实现(面向对象的实现(object oriented programming,OOP)。)。淮海工学院淮海工学院 计算机课程(1)面向对象的分析(面向对象的分析(OOA object oriented analysis)主要作用:主要作用:明确用户的需求,并用标准化的面向对象的模型规范地表明确用户的需求,并用标准化的面向对象的模型规范地表述这一需求,最后将形成面向对象的分析模型,即述这一需求,最后将形成面向对象的分析模型,即OOA模模型。分析
13、阶段的工作应该由用户和开发人员共同协作完成。型。分析阶段的工作应该由用户和开发人员共同协作完成。面向对象的分析首先应该明确用户的需求,然后再将这些面向对象的分析首先应该明确用户的需求,然后再将这些需求以标准化模型的形式规范地表述出来,即将用户和开需求以标准化模型的形式规范地表述出来,即将用户和开发人员头脑中形成的需求以准确的文字、图表等形式表述发人员头脑中形成的需求以准确的文字、图表等形式表述出来,形成双方都认可的文件。出来,形成双方都认可的文件。淮海工学院淮海工学院 计算机课程使用使用OOAOOA的原因如下:的原因如下:(1 1)它使我们能在人类概括客观事物的三个基本方法()它使我们能在人类
14、概括客观事物的三个基本方法(对象对象及属性及属性、一般一般特殊特殊结构和结构和部分部分整体整体结构)的框架上进行结构)的框架上进行定义和交流。定义和交流。(2 2)它首先着眼于问题空间的理解。)它首先着眼于问题空间的理解。(3 3)它将属性及专用于那些属性的方法视为一个固有的整体。)它将属性及专用于那些属性的方法视为一个固有的整体。(4 4)使用自包含分块)使用自包含分块(对象之间依赖性最小对象之间依赖性最小)进行分析和说明。进行分析和说明。(5 5)它提供一个支持分析和设计一致的强有力的表示工具。)它提供一个支持分析和设计一致的强有力的表示工具。(6 6)它能适应系列变化的系统和对当前实际运
15、行系统的调整。)它能适应系列变化的系统和对当前实际运行系统的调整。淮海工学院淮海工学院 计算机课程常使用的常使用的OO(OO(描述描述)方法有多种:方法有多种:BoochBooch Booth Booth 方法方法(86(86年年)Coad&yourdon 方法(90年)James James RumbaughRumbaugh(OMT)方法方法(91(91年年)Berard Berard 方法方法Fire Smith Fire Smith 方法方法JacobsonJacobson(OOSE)方法方法Martin-Odeu Martin-Odeu 方法方法Seidewitz-Stark Seid
16、ewitz-Stark 方法方法Shlaer-Mellor Shlaer-Mellor 方法方法Wirfs-Brook Wirfs-Brook 方法方法UMLUML(Unified Modeling LanguageUnified Modeling Language)方法)方法 淮海工学院淮海工学院 计算机课程Coad&Yourdon 的的OOA模型的模型的5个层次个层次对象对象类层:类层:找到要开发的应用软件所对应的各个现找到要开发的应用软件所对应的各个现实世界的实体,并从中抽象出类和对象。实世界的实体,并从中抽象出类和对象。静态属性层:静态属性层:为对象为对象类层中抽取出来的各个类和对类层
17、中抽取出来的各个类和对象设计静态属性和它们之间的约束关系。象设计静态属性和它们之间的约束关系。服务层:服务层:定义对象和类的动态属性以及对象之间的消定义对象和类的动态属性以及对象之间的消息通信。息通信。结构层:结构层:定义系统中所有对象和类之间的层次结构关定义系统中所有对象和类之间的层次结构关系。系。主题层:主题层:将系统定义为若干主题(即子系统),把有将系统定义为若干主题(即子系统),把有关对象划归不同的主题。关对象划归不同的主题。淮海工学院淮海工学院 计算机课程 从面向从面向对对象的分析到面向象的分析到面向对对象的象的设计设计OOAOOA的各层模型化了的各层模型化了“问题空间问题空间”,”
18、,而作为而作为OOAOOA各层扩各层扩充的充的OOD,OOD,则模型化一个特定的则模型化一个特定的“实现空间实现空间”。这种扩。这种扩充主要是从增加属性和方法开始的。充主要是从增加属性和方法开始的。OOAOOA是独立于程序设计语言的是独立于程序设计语言的,初步的初步的OODOOD在很大程度在很大程度上依然独立于程序设计语言,而详细上依然独立于程序设计语言,而详细OODOOD是依赖于语言是依赖于语言的的,并可有效地应用过程式、函数式和面向对象的程序并可有效地应用过程式、函数式和面向对象的程序设计语言加以实现。语言的选择对设计语言加以实现。语言的选择对OODOOD的实施有重要的的实施有重要的影响影
19、响,但不会影响但不会影响OODOOD的有效性。的有效性。淮海工学院淮海工学院 计算机课程(2)面向对象的设计(面向对象的设计(OOD object oriented design)概要设计概要设计构成最初的构成最初的OOD模型模型 OOA模型模型界面管理:负责整个系统的人机交互界面的设计界面管理:负责整个系统的人机交互界面的设计任务管理:负责处理并行操作之类的系统资源管理功能任务管理:负责处理并行操作之类的系统资源管理功能数据管理:负责设计系统与数据库的接口数据管理:负责设计系统与数据库的接口详细设计详细设计对对OOD模型进行细化模型进行细化细化分析:是否有可以直接引用的已有类或部件细化分析:
20、是否有可以直接引用的已有类或部件细化设计:设计类,包括类的属性和类之间的相互关系细化设计:设计类,包括类的属性和类之间的相互关系细化验证细化验证:验证各对象类公式间是否相容和一致、类成验证各对象类公式间是否相容和一致、类成 员的访问权限设置是否合理、对象类的功能员的访问权限设置是否合理、对象类的功能 是否符合用户要求等。是否符合用户要求等。淮海工学院淮海工学院 计算机课程(3)面向对象的实现(面向对象的实现(OOP object oriented programming)选择一种合适的面向对象的编程语言选择一种合适的面向对象的编程语言用选定的语言编码实现对软件系统中各对象类的详尽描述用选定的语
21、言编码实现对软件系统中各对象类的详尽描述将编写好的各个类代码模块根据类的相互关系集成起来将编写好的各个类代码模块根据类的相互关系集成起来利用开发人员提供的测试样例和用户提供的测试样例分别检利用开发人员提供的测试样例和用户提供的测试样例分别检验编码完成的各个模块和整个软件系统。验编码完成的各个模块和整个软件系统。淮海工学院淮海工学院 计算机课程面向对象的软件开发过程小结面向对象的软件开发过程小结分析用户需求,从问题中抽取对象模型;分析用户需求,从问题中抽取对象模型;将模型细化,设计类,包括类的属性和类之间的相互将模型细化,设计类,包括类的属性和类之间的相互关系,同时考察是否有可以直接引用的已有类
22、或部件;关系,同时考察是否有可以直接引用的已有类或部件;选定一种面向对象的编程语言,具体编码实现上一阶选定一种面向对象的编程语言,具体编码实现上一阶段类的设计,并在开发过程中引入测试,完善整个解段类的设计,并在开发过程中引入测试,完善整个解决方案。决方案。淮海工学院淮海工学院 计算机课程3.1.4 面向对象程序设计的四个特点面向对象程序设计的四个特点抽象性抽象性 指采用数据抽象的方法来构建程序的类、对象和方法,即把指采用数据抽象的方法来构建程序的类、对象和方法,即把系统中需要处理的数据和这些数据上的操作结合在一起,根系统中需要处理的数据和这些数据上的操作结合在一起,根据功能、性质、作用等因素抽
23、象成不同的抽象数据类型。据功能、性质、作用等因素抽象成不同的抽象数据类型。封装性封装性 指利用类将数据和基于数据的操作封装在一起,数据被保护指利用类将数据和基于数据的操作封装在一起,数据被保护在类的内部,系统的其他部分只有通过包裹在数据外面的被在类的内部,系统的其他部分只有通过包裹在数据外面的被授权的操作,才能与这个类进行交流和交互。授权的操作,才能与这个类进行交流和交互。淮海工学院淮海工学院 计算机课程继承性继承性 指一个类可以从其它已有的类中派生,新类保持了父类指一个类可以从其它已有的类中派生,新类保持了父类中的行为和属性,但增加了新的功能。中的行为和属性,但增加了新的功能。多态性多态性
24、指一个程序中可以有同名的不同方法共存的情况。可以指一个程序中可以有同名的不同方法共存的情况。可以利用子类对父类方法的覆盖和重载在同一个类中定义多利用子类对父类方法的覆盖和重载在同一个类中定义多个同名的方法来实现。个同名的方法来实现。淮海工学院淮海工学院 计算机课程3.1.5 面向对象程序设计的三大优点面向对象程序设计的三大优点可重用性可重用性 指在一个软件项目中所开发的模块,不仅可以用于本项目,指在一个软件项目中所开发的模块,不仅可以用于本项目,还可以重复地使用在其他项目中。还可以重复地使用在其他项目中。提高了开发效率,缩短了开发周期,降低了开发成本。提高了开发效率,缩短了开发周期,降低了开发
25、成本。由于采用了正确、有效的模块,质量得到保证,维护工由于采用了正确、有效的模块,质量得到保证,维护工作量减少。作量减少。采用可重用模块来构建程序,提高了程序的标准化程度,采用可重用模块来构建程序,提高了程序的标准化程度,符合现代大规模软件开发的需求。符合现代大规模软件开发的需求。淮海工学院淮海工学院 计算机课程 可管理性可管理性采用类作为构建系统的部件,使整个项目的组织更加采用类作为构建系统的部件,使整个项目的组织更加合理、方便;合理、方便;把数据和其上的操作封装在一起,仅本类的方法才可把数据和其上的操作封装在一起,仅本类的方法才可以操纵、改变这些数据,效率提高,开发难度降低;以操纵、改变这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 编程 基础 IT168 文库
限制150内