第04章面向对象技术基础优秀课件.ppt
《第04章面向对象技术基础优秀课件.ppt》由会员分享,可在线阅读,更多相关《第04章面向对象技术基础优秀课件.ppt(98页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第04章面向对象技术章面向对象技术基础基础第1页,本讲稿共98页主要内容主要内容4.1 4.1 面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念4.2 4.2 类的定义类的定义类的定义类的定义4.3 4.3 类和对象的使用类和对象的使用类和对象的使用类和对象的使用 4.4 4.4 包包包包packagepackage4.5 4.5 成员变量及方法的访问权限成员变量及方法的访问权限成员变量及方法的访问权限成员变量及方法的访问权限4.6 final4.6 final、thisthis及其它及其它及其它及其它 第2页,本讲稿共98页4.1 面向对象的基本概念面向对象的基本概
2、念4.1.14.1.1面向对象编程的概念面向对象编程的概念面向对象编程的概念面向对象编程的概念 4.1.24.1.2客观事物的抽象客观事物的抽象客观事物的抽象客观事物的抽象第3页,本讲稿共98页4.1.1面向对象编程的概念面向对象编程的概念 1 1、面向、面向、面向、面向过程过程过程过程编程:编程:编程:编程:我们很多人使用过我们很多人使用过FortranFortran、BasicBasic,C C等面向过等面向过程的程序设计语言,这些语言是按程的程序设计语言,这些语言是按流程化流程化流程化流程化的思想来的思想来组织的。在这些语言的设计思想中,通常将存放基组织的。在这些语言的设计思想中,通常将
3、存放基本数据类型的变量作为程序处理对象、以变量的赋本数据类型的变量作为程序处理对象、以变量的赋值作为程序的基本操作、以变量值的改变作为程序值作为程序的基本操作、以变量值的改变作为程序运行的状态。这种程序设计风格存在着运行的状态。这种程序设计风格存在着数据抽象简数据抽象简数据抽象简数据抽象简单、信息完全暴露、算法复杂、无法很好地描述客单、信息完全暴露、算法复杂、无法很好地描述客单、信息完全暴露、算法复杂、无法很好地描述客单、信息完全暴露、算法复杂、无法很好地描述客观世界等缺点观世界等缺点观世界等缺点观世界等缺点。在程序设计过程中,为了实现有限。在程序设计过程中,为了实现有限度的代码重用,公共代码
4、被组织成为过程或函数。度的代码重用,公共代码被组织成为过程或函数。当需要代码重用时,调用已经组织好的过程或函数。当需要代码重用时,调用已经组织好的过程或函数。在这种应用方式中,在这种应用方式中,如果软件项目庞大,程序的调如果软件项目庞大,程序的调如果软件项目庞大,程序的调如果软件项目庞大,程序的调试和维护将变得异常困难试和维护将变得异常困难试和维护将变得异常困难试和维护将变得异常困难。第4页,本讲稿共98页4.1.1面向对象编程的概念面向对象编程的概念 2 2、面向、面向、面向、面向对象对象对象对象编程:编程:编程:编程:而面向对象的程序设计思想是而面向对象的程序设计思想是将数据以及对于将数据
5、以及对于将数据以及对于将数据以及对于这些数据的操作,封装在了一个单独的数据结构中这些数据的操作,封装在了一个单独的数据结构中这些数据的操作,封装在了一个单独的数据结构中这些数据的操作,封装在了一个单独的数据结构中。这种模式更近似于现实世界,在这里,所有的对象这种模式更近似于现实世界,在这里,所有的对象都同时拥有属性以及与这些属性相关的行为。对象都同时拥有属性以及与这些属性相关的行为。对象之间的联系是通过消息来实现的,消息是请求对象之间的联系是通过消息来实现的,消息是请求对象执行某一处理或回答某些信息的要求。某个对象在执行某一处理或回答某些信息的要求。某个对象在执行相应的处理时,可以通过传递消息
6、请求其他对执行相应的处理时,可以通过传递消息请求其他对象完成某些处理工作或回答某些消息。其他对象在象完成某些处理工作或回答某些消息。其他对象在执行所要求的处理活动时,同样可以通过传递消息执行所要求的处理活动时,同样可以通过传递消息和另外的对象联系。所以,一个面向对象程序的执和另外的对象联系。所以,一个面向对象程序的执行,就是靠对象间传递消息来完成的。行,就是靠对象间传递消息来完成的。第5页,本讲稿共98页4.1.1面向对象编程的概念面向对象编程的概念 面向对象编程:面向对象编程:面向对象编程:面向对象编程:面向对象程序设计是一种新兴的程序设计方法面向对象程序设计是一种新兴的程序设计方法,或者是
7、一种新的程序设计规范或者是一种新的程序设计规范,它使用它使用对象、类、继对象、类、继对象、类、继对象、类、继承、封装、消息等基本概念来进行程序的设计承、封装、消息等基本概念来进行程序的设计承、封装、消息等基本概念来进行程序的设计承、封装、消息等基本概念来进行程序的设计。从。从现实世界中客观存在的事物(即对象)出发来构造现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自软件系统,并且在系统构造中尽可能运用人类的自然思维方式。开发一个软件是为了解决某些问题,然思维方式。开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称作该软件的问题域。这些问题所涉及的
8、业务范围称作该软件的问题域。其应用领域不仅仅是软件,还有计算机体系结构和其应用领域不仅仅是软件,还有计算机体系结构和人工智能等。人工智能等。第6页,本讲稿共98页4.1.1面向对象编程的概念面向对象编程的概念 面向对象的三大特点:面向对象的三大特点:面向对象的三大特点:面向对象的三大特点:封装、继承、多态封装、继承、多态封装、继承、多态封装、继承、多态 1 1)封装)封装 封装就是把对象的属性和和对这些属性的操作封封装就是把对象的属性和和对这些属性的操作封装在一个单独的数据结构中,并尽可能隐蔽对象的装在一个单独的数据结构中,并尽可能隐蔽对象的内部细节,包含两个含义:内部细节,包含两个含义:n
9、n把对象的全部属性和对属性的全部操作结合在一把对象的全部属性和对属性的全部操作结合在一起,形成一个不可分割的独立单元(即对象)。起,形成一个不可分割的独立单元(即对象)。n n信息隐蔽,即尽可能隐蔽对象的内部细节,对外信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界形成一个边界或者说形成一道屏障或者说形成一道屏障,只保留,只保留有限的对外接口使之与外部发生联系。有限的对外接口使之与外部发生联系。第7页,本讲稿共98页4.1.1面向对象编程的概念面向对象编程的概念 面向对象的三大特点:面向对象的三大特点:面向对象的三大特点:面向对象的三大特点:封装、继承、多态封装、继承、多态封装、继承、多
10、态封装、继承、多态 2 2)继承)继承 继承是一种由已有的类创建新类的机制。利用继继承是一种由已有的类创建新类的机制。利用继承承,我们可以先创建一个拥有共有属性的一般类我们可以先创建一个拥有共有属性的一般类,根据根据该一般类再创建具有特殊属性的新类该一般类再创建具有特殊属性的新类,新类继承一般新类继承一般类的状态和行为类的状态和行为,并根据需要增加它自己的新的状态并根据需要增加它自己的新的状态和行为。由继承而得到的类称为子类和行为。由继承而得到的类称为子类,被继承的类称被继承的类称为父类或超类。为父类或超类。JavaJava不支持多重继承,子类只能有不支持多重继承,子类只能有一个父类。一个父类
11、。在在JavaJava编程语言中,通过继承可利用已有的类,编程语言中,通过继承可利用已有的类,并扩展它的属性和方法。这个已有的类可以是语言并扩展它的属性和方法。这个已有的类可以是语言本身提供的、其他程序员编写的或程序员原来编写本身提供的、其他程序员编写的或程序员原来编写的。继承在的。继承在JavaJava中无所不在。中无所不在。第8页,本讲稿共98页4.1.1面向对象编程的概念面向对象编程的概念 面向对象的三大特点:面向对象的三大特点:面向对象的三大特点:面向对象的三大特点:封装、继承、多态封装、继承、多态封装、继承、多态封装、继承、多态 3 3)多态)多态对象的多态是由封装和继承引出的面向对
12、象程对象的多态是由封装和继承引出的面向对象程序设计语言的另一特征。主要体现在两个方面:方序设计语言的另一特征。主要体现在两个方面:方法重载时实现的静态多态和方法重载时实现的动态法重载时实现的静态多态和方法重载时实现的动态多态。多态。多态性使得我们的同一方法,可以有多种形式。多态性使得我们的同一方法,可以有多种形式。另外父类中定义的属性或方法被子类继承之后,可另外父类中定义的属性或方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,同一以具有不同的数据类型或表现出不同的行为,同一个属性或方法在父类及其各个子类中可以具有不同个属性或方法在父类及其各个子类中可以具有不同的语义。的语义。第9
13、页,本讲稿共98页4.1.2客观事物的抽象客观事物的抽象 为了使计算机能够处理和理解客观事物,必须为了使计算机能够处理和理解客观事物,必须为了使计算机能够处理和理解客观事物,必须为了使计算机能够处理和理解客观事物,必须对事物进行抽象,以求得事物的本质。现实事物纷对事物进行抽象,以求得事物的本质。现实事物纷对事物进行抽象,以求得事物的本质。现实事物纷对事物进行抽象,以求得事物的本质。现实事物纷繁复杂,因此,在事物抽象过程中,必须忽略抽象繁复杂,因此,在事物抽象过程中,必须忽略抽象繁复杂,因此,在事物抽象过程中,必须忽略抽象繁复杂,因此,在事物抽象过程中,必须忽略抽象事物中那些与当前目的无关的特征
14、,求取对当前需事物中那些与当前目的无关的特征,求取对当前需事物中那些与当前目的无关的特征,求取对当前需事物中那些与当前目的无关的特征,求取对当前需求有直接影响的因素。因此,针对客观事物的抽象求有直接影响的因素。因此,针对客观事物的抽象求有直接影响的因素。因此,针对客观事物的抽象求有直接影响的因素。因此,针对客观事物的抽象必须掌握一定的抽象原则。必须掌握一定的抽象原则。必须掌握一定的抽象原则。必须掌握一定的抽象原则。我们知道,当确定了一个圆形的圆心位置和圆我们知道,当确定了一个圆形的圆心位置和圆的半径后,就可以在平面上确定一个圆。因此,抽的半径后,就可以在平面上确定一个圆。因此,抽象出来的圆的要
15、素为圆心和半径。象出来的圆的要素为圆心和半径。第10页,本讲稿共98页4.1.2客观事物的抽象客观事物的抽象用数据结构来表示,如下:用数据结构来表示,如下:class Circleclass Circlepoint center;/point center;/圆心圆心float radius;/float radius;/半径半径 其中其中classclass是面向对象程序设计常用来定义是面向对象程序设计常用来定义“类类”这种这种数据结构的关键字。数据结构的关键字。第11页,本讲稿共98页4.1.2客观事物的抽象客观事物的抽象添加一些基本的行为如获取圆的面积,表示如下:添加一些基本的行为如获取
16、圆的面积,表示如下:class Circle class Circle point center;/point center;/属性或成员属性或成员 float radius;/float radius;/属性或成员属性或成员 double getArea()/double getArea()/方法方法 return radius*radius*3.1415926;return radius*radius*3.1415926;第12页,本讲稿共98页4.1.2客观事物的抽象客观事物的抽象添加一些基本的行为如获取圆的面积,表示如下:添加一些基本的行为如获取圆的面积,表示如下:class Circ
17、le class Circle point center;/point center;/属性或成员属性或成员 float radius;/float radius;/属性或成员属性或成员 double getArea()/double getArea()/方法方法 return radius*radius*3.1415926;return radius*radius*3.1415926;第13页,本讲稿共98页第第4章章 面向对象程序设计基础面向对象程序设计基础4.1 4.1 面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念4.2 4.2 类的定义类的定义类的定义类的定
18、义4.3 4.3 类和对象的使用类和对象的使用类和对象的使用类和对象的使用 4.4 4.4 包包包包packagepackage4.5 4.5 成员变量及方法的访问权限成员变量及方法的访问权限成员变量及方法的访问权限成员变量及方法的访问权限4.6 final4.6 final、thisthis及其它及其它及其它及其它 第14页,本讲稿共98页4.2 类的定义类的定义4.2.1 4.2.1 类声明类声明类声明类声明4.2.2 4.2.2 类体类体类体类体4.2.3 4.2.3 实例化对象实例化对象实例化对象实例化对象4.2.4 4.2.4 构造方法说明构造方法说明构造方法说明构造方法说明 4.2
19、.5 4.2.5 对象的清除对象的清除对象的清除对象的清除4.2.6 4.2.6 方法重载方法重载方法重载方法重载第15页,本讲稿共98页4.2.1类声明类声明类的类的类的类的声明声明声明声明举例:举例:举例:举例:class class CircleCircle point center;/point center;/属性或成员属性或成员 float radius;/float radius;/属性或成员属性或成员 double getArea()/double getArea()/方法方法 return radius*radius*3.1415926;return radius*radiu
20、s*3.1415926;public class public class RectangleRectangle extends Shapes implement Display extends Shapes implement Display /类体类体 /下面的下面的RectangleRectangle类继承了类继承了ShapesShapes父类,实现了接口父类,实现了接口 DisplayDisplay,是,是一个公共类。一个公共类。第16页,本讲稿共98页4.2.1类声明类声明类声明的格式如下:类声明的格式如下:类声明的格式如下:类声明的格式如下:修饰符修饰符修饰符修饰符 class c
21、lass 类名类名类名类名 extends extends 超类名超类名超类名超类名 implements implements接口名列表接口名列表接口名列表接口名列表 可能的选项有:可能的选项有:可能的选项有:可能的选项有:publicabstract|final class publicabstract|final class 类名类名类名类名 extends extends 超类名超类名超类名超类名 implements implements 接口名列表接口名列表接口名列表接口名列表 public(public(公共公共):publicpublic修饰的类能被所有的类访问。修饰的类能被所
22、有的类访问。abstract(abstract(抽象抽象):abstractabstract修饰的类不能被实例化,它包含修饰的类不能被实例化,它包含 有有未实现的方法。未实现的方法。final(final(最终最终):finalfinal修饰的类不能被继承,即不能有子类。修饰的类不能被继承,即不能有子类。注意:注意:abstractabstract和和finalfinal不能同时作为一个类的修饰符。不能同时作为一个类的修饰符。第17页,本讲稿共98页4.2.1类声明类声明类名:类名:类名:类名:习惯上类名的第一个字母大写习惯上类名的第一个字母大写,但这不是必须的。类的名字不但这不是必须的。类的
23、名字不能是能是Java Java 中的关键字中的关键字,要符合标识符规定要符合标识符规定,即名字可以由字母即名字可以由字母,下划下划线线,数字或美圆符号组成数字或美圆符号组成,并且第一个字符不能是数字。但给类命名时并且第一个字符不能是数字。但给类命名时,最好遵守如下习惯最好遵守如下习惯最好遵守如下习惯最好遵守如下习惯:如果类名使用拉丁字母如果类名使用拉丁字母,那么名字的那么名字的首写字母使用大写字首写字母使用大写字首写字母使用大写字首写字母使用大写字母母,例如例如HelloHello、TimeTime、PeoplePeople等。等。类名最好类名最好见名知意见名知意见名知意见名知意,当类名由几
24、个当类名由几个”单词单词”复合而成时复合而成时,每个单词的每个单词的首写字母使用大写首写字母使用大写,如如BeijingTimeBeijingTime、AmericanMapAmericanMap、ChongQingChongQing,CarNumberCarNumber等。等。第18页,本讲稿共98页4.2.1类声明类声明extends(extends(继承继承继承继承):extendsextends保留字用来表明新创建的类继承哪个类,被继承的类称保留字用来表明新创建的类继承哪个类,被继承的类称为此类的父类。为此类的父类。extendsextends后面只能跟一个父类名。后面只能跟一个父类名
25、。implements(implements(实现实现实现实现):用来表明这个类实现了哪些接口,接口名可以有多个。用来表明这个类实现了哪些接口,接口名可以有多个。例如:下面的类是合法的:例如:下面的类是合法的:class class MyC1assMyC1ass /空类,没有任何用处,但是合法空类,没有任何用处,但是合法 又如:下面的又如:下面的RectangleRectangle类继承了类继承了ShapesShapes父类,实现了接口父类,实现了接口DisplayDisplay,是一个公共类。,是一个公共类。public class public class RectangleRectang
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 04 面向 对象 技术 基础 优秀 课件
限制150内