面向对象的核心特性课件.ppt
《面向对象的核心特性课件.ppt》由会员分享,可在线阅读,更多相关《面向对象的核心特性课件.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象的核心特面向对象的核心特性性程序设计实用教程(第程序设计实用教程(第2版)版)第1页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.1面向对象程序设计概述面向对象程序设计概述第2页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.1.1面向对象术语的解释面向对象术语的解释1.对象对象什么是对象:现实世界中解决问题的实物(包括有行为和属性)什么是对象:现实世界中解决问题的实物(包括有行为和属性)例如:咖啡猫例如:咖啡猫 黄色的(属性)爱睡觉(行为)黄色的(属性)爱睡觉(行为)2.类类什么是类:对象的模板什么是类:对象的模板模板内容模板内容=类
2、的特性类的特性(属性)(属性)+行为行为(方法)(方法)类的成员类的成员例如:猫类例如:猫类 (有颜色,猫龄等属性;有睡觉,吃食等行为。(有颜色,猫龄等属性;有睡觉,吃食等行为。第3页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.1 面向对象程序设计概述面向对象程序设计概述类与对象关系类与对象关系n概念:概念:类(类(class)是既)是既包括数据又包括作包括数据又包括作用于数据的一组操用于数据的一组操作的封装体。作的封装体。对象(对象(object)是类的实例是类的实例(instance)。)。类对象抽抽象象实实例例化化方法方法数据或变量数据或变量第4页,此课件共7
3、4页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.继承继承 什么叫继承?继承是接收来自父辈的财产什么叫继承?继承是接收来自父辈的财产在面向对象中继承的外延是什么?拥有父辈所拥有的东西在面向对象中继承的外延是什么?拥有父辈所拥有的东西 子类的继承子类的继承子类拥有父辈的成员子类拥有父辈的成员例如:例如:汽车汽车 继承继承 车车 /所有种类的汽车都需要实现汽车的基本功所有种类的汽车都需要实现汽车的基本功能能类的继承实现了代码的重用。类的继承实现了代码的重用。第5页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)4.接口接口 接口像一个类定义的模板,它提供了与接口像一个
4、类定义的模板,它提供了与其他事物之间相互通信的规则条目,但其他事物之间相互通信的规则条目,但并非具体实现。并非具体实现。例如:多个程序员开发同一个应用程序的例如:多个程序员开发同一个应用程序的不同类,约定不同类之间使用同一组方不同类,约定不同类之间使用同一组方法进行通信。则创建一个接口用于定义法进行通信。则创建一个接口用于定义这些方法。这些方法。第6页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)5.封装封装 数据隐藏。数据隐藏。成员的详细信息对成员的详细信息对 于对象外的代码是于对象外的代码是 私有的和不可见的。私有的和不可见的。数据数据方法方法外界外界访问访问第7页,
5、此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.1.2面向对象程序设计方法的优点面向对象程序设计方法的优点1可重用性可重用性2可扩展性可扩展性3易于管理和维护易于管理和维护 第8页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.2面向对象与面向对象与UML建模建模1.建模是一项经过检验并被广为接受的工程技术。建立房屋和大建模是一项经过检验并被广为接受的工程技术。建立房屋和大厦的建筑模型,能帮助用户得到实际建筑物的印象。厦的建筑模型,能帮助用户得到实际建筑物的印象。2.要生产合格的软件就要有一套关于体系的结构、过程和要生产合格的软件就要有一套关于体系
6、的结构、过程和工具的规范。工具的规范。3.建模的目的:建模的目的:1.有助于按照实际情况或按照所需的样式使系统可视化有助于按照实际情况或按照所需的样式使系统可视化2.能够规约系统的结构或行为能够规约系统的结构或行为3.给出指导系统构造的模板给出指导系统构造的模板4.使做出的决策文档化使做出的决策文档化第9页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.2.2UML建模语言建模语言什么是什么是UML?Unified Modeling Language(统一建模语言统一建模语言)UML是一种用来创建程序模型的图形语言(即带有语意的一种图形是一种用来创建程序模型的图形语言(
7、即带有语意的一种图形记号)。可以用来说明代码中对象之间的关系。记号)。可以用来说明代码中对象之间的关系。第10页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.2.3UML进行面向对象的系统分析设计进行面向对象的系统分析设计UML进行面向对象的系统分析设计,其过进行面向对象的系统分析设计,其过程通常由以下程通常由以下3个部份组成。个部份组成。1.识别系统的用例和角色识别系统的用例和角色2.进行系统分析,并抽取类进行系统分析,并抽取类3.系统设计,并设计类及其行为系统设计,并设计类及其行为第11页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.3
8、Java语言与面向对象特性语言与面向对象特性1.Java中的类:中的类:信息以类为单位单独封装信息以类为单位单独封装2.Java中的封装中的封装:无需关心调用对象的内部细节:无需关心调用对象的内部细节3.Java中的继承中的继承:只准继承一个类,但可以:只准继承一个类,但可以“继承继承”多个接口。多个接口。4.Java中的多态中的多态5.Java中的垃圾回收机制中的垃圾回收机制:自动回收垃圾内存:自动回收垃圾内存第12页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)类的封装性、继承性和多态性类的封装性、继承性和多态性类的封装性类的封装性类的继承性类的继承性类的多态性类的多
9、态性数据数据操作操作成员变量成员变量成员方法成员方法类类类的封装性类的封装性直接直接访问访问访问权限访问权限 类的继承性类的继承性 类的多态性类的多态性外外部部直接直接访问访问第13页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)1.类的继承性类的继承性继承的概念:继承的概念:子类拥有父类的成员。子类拥有父类的成员。特性:特性:1.子类自动拥有父类全部成员(成员变量方法)子类自动拥有父类全部成员(成员变量方法)人类(父)人类(父)学生类(子)学生类(子)性别、姓名、身高、性别、姓名、身高、国籍国籍吃饭、睡觉、工作吃饭、睡觉、工作.性别、姓名、身性别、姓名、身高、国籍高、国
10、籍吃饭、睡觉、工作吃饭、睡觉、工作.继承继承第14页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)2.子类可以更改父类继承的成员;子类可以更改父类继承的成员;如学生类中,如学生类中,“工作工作”方法会有自己的限制。方法会有自己的限制。3.子类可以增加自己的成员;子类可以增加自己的成员;如学生类中,添加如学生类中,添加“学习学习”、“考试考试”等方等方法。法。4.子类不能删除父类任何成员。子类不能删除父类任何成员。第15页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)Java的单继承的单继承Cjava父类父类1父类父类n子类子类父类父类子类子类接口接口
11、多继承:一个类有多个直多继承:一个类有多个直接父类。可以拥有多个父接父类。可以拥有多个父类的属性或方法。类的属性或方法。单继承:一个类只有一单继承:一个类只有一个直接父类,若需要继个直接父类,若需要继承其他方法,则通过接承其他方法,则通过接口实现。口实现。注意:注意:java中只支持单继承。即子类只有一个直接父类。中只支持单继承。即子类只有一个直接父类。多继承特点通过接口实现。多继承特点通过接口实现。第16页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)1.类的多态性类的多态性多态:允许拥有相同的形式,但在不同情多态:允许拥有相同的形式,但在不同情况下拥有不同机能的特性。
12、如况下拥有不同机能的特性。如“”多态性多态性方法执行的多样性方法执行的多样性重载:方法名同,参数列表不同重载:方法名同,参数列表不同覆盖:子类重写了父类中同名的方法。覆盖:子类重写了父类中同名的方法。第17页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.4类的定义和对象的创建类的定义和对象的创建程序运行可理解为做三件事:程序运行可理解为做三件事:建立对象建立对象使用对象:对象之间传递消息,程序处理使用对象:对象之间传递消息,程序处理消息作出响应消息作出响应运行完毕收回对象所占空间。运行完毕收回对象所占空间。对象的生命周期:创建对象的生命周期:创建运行运行消亡消亡获得内
13、获得内存空间存空间进行各进行各种操作种操作使用完释使用完释放内存放内存第18页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.4.1 定义类:类声明类主体定义类:类声明类主体1.类定义的格式:类定义的格式:类声明类声明 成员变量的声明成员变量的声明;成员方法的声明及实现成员方法的声明及实现;类主体类主体类类注意与注意与注意与注意与c c有何区别!变量与方法的声明与定义有何区别!变量与方法的声明与定义有何区别!变量与方法的声明与定义有何区别!变量与方法的声明与定义均不允许放在类主体外面!均不允许放在类主体外面!均不允许放在类主体外面!均不允许放在类主体外面!class 类
14、名类名 代码;代码;数据数据方法方法第19页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)1.声明类:声明类:权限权限 特性特性 名字名字语法:语法:修饰符修饰符 class 类类 extends 父类父类 implements 接口列表接口列表类的修饰符用来说明类的特殊性质。分为三种:类的修饰符用来说明类的特殊性质。分为三种:访问控制符:访问控制符:public(公共类)、(公共类)、friendly(缺省类缺省类)protected(保护类)、private(私有类)多见于内嵌类多见于内嵌类)抽象类说明符:抽象类说明符:abstract最终类说明符:最终类说明符:fi
15、nal关键字类名表示继承哪个父类表示继承哪些接口第20页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)例:声明一个公共类例:声明一个公共类 Data1:public class Data1 定义一个公共类定义一个公共类 人类:人类:定义一个类定义一个类 学生类:学生类:public class Man class Student 第21页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.4.2类之间的关系类之间的关系1.USES-A关系关系2.HAS-A关系关系3.IS-A关系关系第22页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版
16、)版)1.USES-A关系关系 类类A的方法操纵了类的方法操纵了类B(对象对象)的成员,则称之为类的成员,则称之为类A”USES-A”(用到了用到了)类类B.例例3-1轿车类轿车类(Car)其他类其他类(Sample3_1)调用调用USES-A关系关系Public class Sample3_1 c.startIsEnough();第23页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)2.HAS-A关系关系HAS-A关系是一种拥有关系,若类关系是一种拥有关系,若类A中有中有B类型的成员引用变量,则类类型的成员引用变量,则类A“HAS-A”(拥有拥有)类类B.例例3-2c.
17、getTyreInfo().getMaterial();轿车类轿车类(Car)轮胎类轮胎类(Tyre)拥有拥有HAS-A关系关系第24页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.IS-A关系关系在面向对象中在面向对象中“IS-A”的概念是基于继承的,旨在表达的概念是基于继承的,旨在表达一个类是另一个类的子类。也就是说,若类一个类是另一个类的子类。也就是说,若类A是类是类B子类的一种,则可以说类子类的一种,则可以说类A“IS-A”(是一种)类(是一种)类B。例如:例如:“苹果苹果”是是“水果水果”的种类的种类class Fruit public void canEa
18、t()class Apple Apple a=new Apple()a.canEat();水果水果苹果苹果继承继承IS-A关系关系第25页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.4.3构造函数构造函数 要使用对象,首先必须构造它们,并指定要使用对象,首先必须构造它们,并指定它们的初始状态,然后将方法应用于对它们的初始状态,然后将方法应用于对象。象。在在Java程序设计语言中,使用构造函数程序设计语言中,使用构造函数来构造新的实例,作用是构造并初始化来构造新的实例,作用是构造并初始化对象。对象。第26页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版
19、)版)构造函数的创建构造函数的创建1.创建无参构造函数创建无参构造函数 例例3-32.创建带参构造函数创建带参构造函数 例例3-4第27页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)构造函数的特点有:构造函数的特点有:(1)构造函数的方法名与类名相同。)构造函数的方法名与类名相同。(2)构造函数没有返回类型,也无需声明类型。)构造函数没有返回类型,也无需声明类型。(3)构造函数的主要作用是完成对类对象的初始化工作,并传递)构造函数的主要作用是完成对类对象的初始化工作,并传递参数。参数。(4)构造函数不能由编程人员显式地直接调用。由系统调)构造函数不能由编程人员显式地直接
20、调用。由系统调用。用。(5)一个类可以定义多个构造方法,缺省构造函数为无参)一个类可以定义多个构造方法,缺省构造函数为无参的默认构造函数,不执行任何代码。的默认构造函数,不执行任何代码。(6)构造方法可以重载,以参数的个数、类型或排列顺序区分。)构造方法可以重载,以参数的个数、类型或排列顺序区分。第28页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.3.4类成员类成员1.声明成员变量声明成员变量修饰符修饰符 static final transient 数据类型数据类型 变量名变量名访问控制符:访问控制符:public(公共类)(公共类)friendly(缺省缺省类类
21、)protected(保护类)(保护类)private(私(私有类)有类)类(静态)类(静态)成员变量成员变量常量常量临时变量临时变量类声明类声明 成员变量的声明成员变量的声明;成员方法的声明及实现成员方法的声明及实现;第29页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)例例3-5:定义:定义Student类,声明类,声明3个成员变量分个成员变量分别表示姓名、年龄、班级:别表示姓名、年龄、班级:public class Student/类声明类声明 public String stuName;public int stuAge;public String stuClas
22、s;成员变量的引用成员变量的引用/声明成员变量声明成员变量第30页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)2.成员变量的初始值成员变量的初始值创建对象后,如果对象有成员变量,则系创建对象后,如果对象有成员变量,则系统会自动为其分配一个初始值。统会自动为其分配一个初始值。例例3-6 例例3-7注意:对象引用型成员变量,其初始值为注意:对象引用型成员变量,其初始值为“null”,表示此引用没有指向任何对象。表示此引用没有指向任何对象。第31页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.4.5 对象的创建对象的创建1.声明对象声明对象类名类名
23、对象对象 例:例:Student s;2.对象实例化对象实例化对象对象=new 类的构造方法类的构造方法(参数列表参数列表)s=new Student();3.引用对象的成员变量及方法:用引用对象的成员变量及方法:用“.”运算符运算符对象对象.成员变量成员变量对象对象.成员方法成员方法(参数列表参数列表)s.name=王强王强;/引用对象的成员变量引用对象的成员变量Student第32页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)3.5 方法方法2.方法的定义方法的定义方法的基本组成:方法的声明方法的基本组成:方法的声明+方法体方法体修饰符 static 返回值类型 方
24、法(参数列表)throws 异常类 语句序列;return 返回值;方法声明:方法声明:方法声明:方法声明:方法体:方法体:方法体:方法体:第33页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)例:例:int sub(int a,int b)return a-b;int sub(int a,int b)int c;c=a-b;return c;第34页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)说明:说明:1.参数序列参数序列指定要传递给方法什么样的信息指定要传递给方法什么样的信息(1)可以是可以是java中的任何类型,包括基本数中的任何类型,包括
25、基本数据参数类型、对象引用类型。据参数类型、对象引用类型。(2)每个参数必须包括类型与变量标识符,每个参数必须包括类型与变量标识符,若有多个参数,则用逗号将其分隔。如若有多个参数,则用逗号将其分隔。如(int a,int b)第35页,此课件共74页哦程序设计实用教程(第程序设计实用教程(第2版)版)2.方法体方法体方法体是该方法具体业务代码的实现。方法体是该方法具体业务代码的实现。return语句负责方法的返回。语句负责方法的返回。3.返回值类型返回值类型返回值类型指定了该方法返回结果的类型。返回值类型指定了该方法返回结果的类型。可以是基本数据类型或对象引用类型,可以是基本数据类型或对象引用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 核心 特性 课件
限制150内