第4章面向对象基础.ppt

上传人:王** 文档编号:613976 上传时间:2023-12-08 格式:PPT 页数:96 大小:1.07MB
下载 相关 举报
第4章面向对象基础.ppt_第1页
第1页 / 共96页
第4章面向对象基础.ppt_第2页
第2页 / 共96页
第4章面向对象基础.ppt_第3页
第3页 / 共96页
第4章面向对象基础.ppt_第4页
第4页 / 共96页
第4章面向对象基础.ppt_第5页
第5页 / 共96页
第4章面向对象基础.ppt_第6页
第6页 / 共96页
第4章面向对象基础.ppt_第7页
第7页 / 共96页
第4章面向对象基础.ppt_第8页
第8页 / 共96页
第4章面向对象基础.ppt_第9页
第9页 / 共96页
第4章面向对象基础.ppt_第10页
第10页 / 共96页
亲,该文档总共96页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第4章面向对象基础.ppt》由会员分享,可在线阅读,更多相关《第4章面向对象基础.ppt(96页珍藏版)》请在优知文库上搜索。

1、JavaJava实用教程实用教程第第4 4章章 面向对象基础面向对象基础第第 4 4 章章 面向对象基础面向对象基础4.1 4.1 面向对象程序设计面向对象程序设计4.2 4.2 类类 和和 对对 象象4.3 4.3 包包4.4 4.4 继继 承承4.5 4.5 多多 态态4.6 4.6 特特 殊殊 类类4.7 4.7 接接 口口n面向过程 在一个结构体中定义窗口的大小,位置,颜色,背景等属性,对窗口操作的函数与窗口本身的定义没有任何关系,如HideWindow,MoveWindow,MinimizeWindow,这些函数都需要接受一个代表要被操作的窗口参数,是一种谓语与宾语的关系。n面向对象

2、 定义窗口时,除了要指定在面向过程中规定的那些属性,如大小,位置,颜色,背景等外,还要指定该窗口可能具有的动作,如隐藏,移动,最小化等。这些函数被调用时,都是以某个窗口要隐藏,某个窗口要移动的语法格式来使用的,这是一种主语与谓语的关系。n面向对象的三大特征n封装 (Encapsulation)n继承 (Inheritance)n多态 (Polymorphism)程序设计所面对的问题域程序设计所面对的问题域客观世界,是由许多事客观世界,是由许多事物构成的,这些事物既可以是有形的物构成的,这些事物既可以是有形的(比如一辆汽车比如一辆汽车),也,也可以是无形的可以是无形的(比如一次会议比如一次会议)

3、。把客观世界中的事物映射到面向对象的程序设计中就把客观世界中的事物映射到面向对象的程序设计中就是对象。对象是面向对象程序设计中用来描述客观事物的是对象。对象是面向对象程序设计中用来描述客观事物的程序单位。客观世界中的许多对象,无论其属性还是其行程序单位。客观世界中的许多对象,无论其属性还是其行为常常有许多共同性,抽象出这些对象的共同性便可以构为常常有许多共同性,抽象出这些对象的共同性便可以构成类。所以,类是对象的抽象和归纳,对象是类的实例。成类。所以,类是对象的抽象和归纳,对象是类的实例。4.1.1.面向对象的基本概念 只要仔细研究程序设计所面对的问题域只要仔细研究程序设计所面对的问题域客观世

4、界,我客观世界,我们就可以看到:客观世界是由一些具体的事物构成的,每个事们就可以看到:客观世界是由一些具体的事物构成的,每个事物都具有自己的一组静态特征物都具有自己的一组静态特征(属性属性)和一组动态特征和一组动态特征(行为行为)。例如,一辆汽车有颜色、型号、马力、生产厂家等静态特例如,一辆汽车有颜色、型号、马力、生产厂家等静态特征,又具有行驶、转弯、停车等动态特征。把客观世界的这一征,又具有行驶、转弯、停车等动态特征。把客观世界的这一事实映射到面向对象的程序设计中,则把问题域中的事物抽象事实映射到面向对象的程序设计中,则把问题域中的事物抽象成了对象成了对象(Object)(Object),事

5、物的静态特征,事物的静态特征(属性属性)用一组数据来描述,用一组数据来描述,事物的动态特征事物的动态特征(行为行为)则用一组方法来刻画。则用一组方法来刻画。4.1.2 对象对象 (1)(1)对象标识:即对象的名字,是用户和系统对象标识:即对象的名字,是用户和系统识别它的唯一标志。例如,汽车的牌照可作为每一识别它的唯一标志。例如,汽车的牌照可作为每一辆汽车对象的标识。对象标识有辆汽车对象的标识。对象标识有“外部标识外部标识”和和“内部标识内部标识”之分。外部标识供对象的定义者或使之分。外部标识供对象的定义者或使用者用,内部标识供系统内部唯一地识别每一个对用者用,内部标识供系统内部唯一地识别每一个

6、对象。在计算机世界中,我们可以把对象看成计算机象。在计算机世界中,我们可以把对象看成计算机存储器中一块可标识的区域,它能保存固定或可变存储器中一块可标识的区域,它能保存固定或可变数目的数据数目的数据(或数据的集合或数据的集合)。4.1.2 对象特征对象特征 (2)(2)属性:即一组数据,用来描述对象的静态特征。属性:即一组数据,用来描述对象的静态特征。例如,汽车的颜色、型号、马力、生产厂家等。在例如,汽车的颜色、型号、马力、生产厂家等。在JavaJava程程序中,把这一组数据称为数据成员。序中,把这一组数据称为数据成员。(3)(3)方法:也称为服务或操作,它是对象动态特征方法:也称为服务或操作

7、,它是对象动态特征(行为行为)的描述。每一个方法确定对象的一种行为或功能。的描述。每一个方法确定对象的一种行为或功能。例如,汽车的行驶、转弯、停车等动作可分别用例如,汽车的行驶、转弯、停车等动作可分别用move()move()、rotate()rotate()、stop()stop()等方法来描述。为避免混淆,本书中等方法来描述。为避免混淆,本书中把方法称为成员方法。把方法称为成员方法。4.1.2 对象特征对象特征 在在JavaJava程序中,类是创建对象的模板,对程序中,类是创建对象的模板,对象是类的实例,任何一个对象都是隶属于某个象是类的实例,任何一个对象都是隶属于某个类的。类的。Java

8、Java程序设计是从类的设计开始的,所程序设计是从类的设计开始的,所以,在进一步讲述对象的知识之前,必须先掌以,在进一步讲述对象的知识之前,必须先掌握类的概念。握类的概念。4.1.2 对象特征对象特征 对象是对事物的抽象,而类是对对象的抽象和归纳。对象是对事物的抽象,而类是对对象的抽象和归纳。找出事物的共性,把具有共同性质的事物归结为一类,找出事物的共性,把具有共同性质的事物归结为一类,得出一个抽象的概念得出一个抽象的概念类。类。在面向对象的编程语言中,类是一个独立的程序单在面向对象的编程语言中,类是一个独立的程序单位,是具有相同属性和方法的一组对象的集合。类的概位,是具有相同属性和方法的一组

9、对象的集合。类的概念使我们能对属于该类的全部对象进行统一的描述。例念使我们能对属于该类的全部对象进行统一的描述。例如,如,“树具有树根、树干、树枝和树叶,它能进行光合树具有树根、树干、树枝和树叶,它能进行光合作用作用”。4.1.3 类类描述一个类需要指明下述三个方面内容:描述一个类需要指明下述三个方面内容:(1)(1)类标识:类的一个有别于其他类的名字。这是必不类标识:类的一个有别于其他类的名字。这是必不可少的。可少的。(2)(2)属性说明:用来描述相同对象的静态特征。属性说明:用来描述相同对象的静态特征。(3)(3)方法说明:用来描述相同对象的动态特征。方法说明:用来描述相同对象的动态特征。

10、4.1.3 类类例如,下面是对dog类进行的描述:class dog /class指出这是一个类,dog是类标识 String name;int AverageWeight;类的属性(静态特征)int AverageHeight;public void move()类的方法(动态特征)public void ShowDog()dog类4.2 类 和 对 象JavaJava语言与其他面向对象语言一样,引入了类和语言与其他面向对象语言一样,引入了类和对象的概念,类是用来创建对象的模板,它包含被创对象的概念,类是用来创建对象的模板,它包含被创建对象的属性和方法的定义。因此,要学习建对象的属性和方法的

11、定义。因此,要学习JavaJava编程编程就必须学会怎样去编写类,即怎样用就必须学会怎样去编写类,即怎样用JavaJava的语法去描的语法去描述一类事物共有的属性和行为。述一类事物共有的属性和行为。对象的属性通过变量来刻画,而对象的行为通过对象的属性通过变量来刻画,而对象的行为通过方法来体现。方法可以操作属性形成一定的算法来实方法来体现。方法可以操作属性形成一定的算法来实现一个具体的功能。类把属性和方法封装成一个整体。现一个具体的功能。类把属性和方法封装成一个整体。类是对某一类事物的描述,是抽象的、概念上的类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因定

12、义;对象是实际存在的该类事物的每个个体,因而也称实例而也称实例(instance)(instance)。如果将对象比作汽车,那么类就是汽车的设计如果将对象比作汽车,那么类就是汽车的设计图纸。所以面向对象程序设计的重点是类的设计,图纸。所以面向对象程序设计的重点是类的设计,而不是对象的设计。而不是对象的设计。4.2 类 和 对 象4.2.1 定义类在在JavaJava语言中,类是基本的构成要素,是对语言中,类是基本的构成要素,是对象的模板,象的模板,JavaJava程序中所有的对象都是由类创建程序中所有的对象都是由类创建的。一个的。一个JavaJava类主要包括以下两部分:类主要包括以下两部分:

13、类的声明类的声明类的主体类的主体类的声明在类声明中,需要定义类的名称、对该类的在类声明中,需要定义类的名称、对该类的访问权限、该类与其他类的关系等。类声明的格访问权限、该类与其他类的关系等。类声明的格式如下:式如下:修饰符修饰符 用于指定类的访问权限,可选值为用于指定类的访问权限,可选值为publicpublic、abstractabstract和和finalfinal。修饰符 class extends 父类名 implements 接口列表 类的声明类名用于指定类的名称,类名必须是合法的类名用于指定类的名称,类名必须是合法的JavaJava标识符。一般情况下,要求首字母大写。标识符。一般情

14、况下,要求首字母大写。extends extends 父类父类 名用于指定要继承参数。名用于指定要继承参数。implements implements 接口列表接口列表 用于指定该类实现用于指定该类实现的所有接口。的所有接口。类类 体体类声明部分大括号中的内容为类体。类体主要由以类声明部分大括号中的内容为类体。类体主要由以下两部分构成:下两部分构成:(1 1)成员变量的定义;)成员变量的定义;(2 2)成员方法的定义。)成员方法的定义。在程序设计过程中,编写一个能完全描述客观事物在程序设计过程中,编写一个能完全描述客观事物的类是不现实的。的类是不现实的。比如,构建一个比如,构建一个AppleA

15、pple类,该类可以拥有很多很多类,该类可以拥有很多很多的属性(即成员变量),在定义该类时,选取程序需要的属性(即成员变量),在定义该类时,选取程序需要的必要属性和行为就可以了。的必要属性和行为就可以了。类的定义类的定义class Personclass Person int age;int age;void shout()void shout()System.out.println(System.out.println(“my age is my age is“+age);+age);nageage是类的属性是类的属性 ,也叫类成员变量,也叫类成员变量 。nshoutshout是方法也叫类的

16、成员函数。是方法也叫类的成员函数。nshoutshout方法可以直接访问同一个类中的方法可以直接访问同一个类中的ageage变量变量 ,如果,如果一个方法中有与成员变量同名的局部变量,该方法中对一个方法中有与成员变量同名的局部变量,该方法中对这个变量名的访问是局部变量,而不再是成员变量。这个变量名的访问是局部变量,而不再是成员变量。4.2.2 了解成员方法JavaJava中类的行为由类的成员方法来实现。类中类的行为由类的成员方法来实现。类的成员方法由方法声明和方法体两部分组成。其的成员方法由方法声明和方法体两部分组成。其一般格式如下:一般格式如下:修饰符 (参数列表)方法体4.2.2 了解成员方法 修饰符修饰符 用于指定方法的访问权限,可选值为用于指定方法的访问权限,可选值为publicpublic、protectedprotected和和privateprivate。方法返回值的类型用于指定该方法的返回值的方法返回值的类型用于指定该方法的返回值的类型,如果该方法没有返回值,必须使用关键字类型,如果该方法没有返回值,必须使用关键字voidvoid进行标识。方法返回值的类型可以是任何进行

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

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

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