第04章-面向对象技术基础课件.ppt
《第04章-面向对象技术基础课件.ppt》由会员分享,可在线阅读,更多相关《第04章-面向对象技术基础课件.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章 面向对象程序设计基础面向对象程序设计基础主要内容主要内容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及其它及其它及其它及其它 4.1面向对象编程的概念面向对象编程的概念 面向对象程序设计面向对象程序设计面
2、向对象程序设计面向对象程序设计n n基本思想基本思想基本思想基本思想:n将数据以及对于这些数据的操作,封装在一个单独的数据将数据以及对于这些数据的操作,封装在一个单独的数据结构中。结构中。n所有的对象都同时拥有属性以及与这些属性相关的行为。所有的对象都同时拥有属性以及与这些属性相关的行为。n对象之间的联系是通过消息来实现的。对象之间的联系是通过消息来实现的。n n基本概念:基本概念:基本概念:基本概念:n类、对象、封装、继承、消息类、对象、封装、继承、消息n n三大特点三大特点三大特点三大特点n封装、继承、多态封装、继承、多态4.1面向对象编程的概念面向对象编程的概念 1 1)封装)封装)封装
3、)封装n封装就是把对象的属性和和对这些属性的操作封装在一个封装就是把对象的属性和和对这些属性的操作封装在一个单独的数据结构中,并尽可能隐蔽对象的内部细节单独的数据结构中,并尽可能隐蔽对象的内部细节,包含,包含两个含义:两个含义:n把对象的全部属性和对属性的全部操作把对象的全部属性和对属性的全部操作结合结合在一起,在一起,形成一个不可分割的独立单元(即对象)。形成一个不可分割的独立单元(即对象)。n信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个一个边界边界或者说形成一道屏障或者说形成一道屏障,只保留有限的对,只保留有限的对外接口使之与外部发生联系
4、。外接口使之与外部发生联系。4.1.1面向对象编程的概念面向对象编程的概念 2 2)继承)继承)继承)继承n继承是一种由已有的类创建新类的机制继承是一种由已有的类创建新类的机制.n利用继承利用继承,我们可以先创建一个拥有共有属性的一般类我们可以先创建一个拥有共有属性的一般类,根根据该一般类再创建具有特殊属性的新类。据该一般类再创建具有特殊属性的新类。n新类继承一般类的状态和行为新类继承一般类的状态和行为,并根据需要增加它自己的并根据需要增加它自己的新的状态和行为。由继承而得到的类称为新的状态和行为。由继承而得到的类称为子类子类,被继承的被继承的类称为类称为父类父类或或超类超类。nJava不支持
5、多重继承,子类只能有一个父类。不支持多重继承,子类只能有一个父类。4.1.1面向对象编程的概念面向对象编程的概念 3)多态)多态n对象的多态是由封装和继承引出的面向对象程序设计语言对象的多态是由封装和继承引出的面向对象程序设计语言的另一特征。的另一特征。n多态主要体现在两个方面:方法重载时实现的多态主要体现在两个方面:方法重载时实现的静态多态静态多态和和方法重写时实现的方法重写时实现的动态多态动态多态。第第4章章 面向对象程序设计基础面向对象程序设计基础4.1 4.1 面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念4.2 4.2 类的定义类的定义类的定义类的定义4.3
6、 4.3 类和对象的使用类和对象的使用类和对象的使用类和对象的使用 4.4 4.4 包包包包packagepackage4.5 4.5 成员变量及方法的访问权限成员变量及方法的访问权限成员变量及方法的访问权限成员变量及方法的访问权限4.6 final4.6 final、thisthis及其它及其它及其它及其它 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.5 4.2.5 对象的清除对象
7、的清除对象的清除对象的清除4.2.6 4.2.6 方法重载方法重载方法重载方法重载4.2.1类声明类声明类声明的格式如下:类声明的格式如下:修饰符修饰符 class 类名类名 extends 父类名父类名 implements接口接口名列表名列表 修饰符可能的选项有:修饰符可能的选项有:publicabstract|final public(公共):public修饰的类能被所有的类访问。abstract(抽象):abstract修饰的类不能被实例化,它包含 有未实现的方法。final(最终):final修饰的类不能被继承,即不能有子类。注意:abstract和final不能同时作为一个类的修饰
8、符。当一个类有多个修饰符时,这些修饰符无先后顺序之分。4.2.1类声明类声明extends(继承继承):extends保留字用来表明新创建的类继承哪个类,被继承的类称为此类的父类。extends后面只能跟一个父类名。implements(实现实现):用来表明这个类实现了哪些接口,接口名可以有多个。例如:下面的类是合法的:class MyClass /空类,没有任何用处,但是合法 又如:下面的Rectangle类继承了Shapes父类,实现了接口Display,是一个公共类。public class Rectangle extends Shapes implement Display /类体4.
9、2.2类体类体 类体中定义了该类所有的成员变量和该类所支持的方法,其格式说明如下:成员变量说明成员变量说明 成员方法说明成员方法说明 4.2.2类体类体 1成员变量说明成员变量说明 成员变量又称值域。成员变量定义在类中,是类成员的一部分,整个类都可以访问它。Java中成员变量说明形式如下:修饰符修饰符 成员变量类型成员变量类型 成员变量名列表成员变量名列表;例如:private int number;成员变量的修饰符有以下几种:缺省访问修饰符、public、protected、private、final、static、transient和volatile。关于这些修饰符的含义以后将讲到。4.2
10、.2类体类体 2成员变量使用成员变量使用(1)类的成员变量在)类的成员变量在定义它的类内部定义它的类内部,可以直接通过成员变,可以直接通过成员变量名来访问。量名来访问。类成员变量类成员变量类变量(用类变量(用static修饰)修饰)实例变量实例变量(2)从类的)从类的外部外部访问,类变量和实例变量的使用方法是不同。访问,类变量和实例变量的使用方法是不同。访问类变量的格式:访问类变量的格式:类名.类变量类变量名 访问实例变量的格式如下:访问实例变量的格式如下:对象名.实例变量名 class Circle static final float PI=3.1415926f;/常量常量 private
11、 Point center;/private float radius;/实例变量实例变量 static Color color;/类变量类变量 public float area;float getArea()/实例方法实例方法 area=radius*radius*PI;return area;/内部访问成员变量内部访问成员变量 访问:访问:Circle c1=new Circle();/c1是对象名是对象名System.out.println(“area=”+c1.area);System.out.println(“Color=”+Circle.color);4.2.2类体类体 3、成员
12、方法说明、成员方法说明 Java通过类的方法,改变对象的状态。通过类的方法,改变对象的状态。方法说明分为方法说明分为方法首部说明方法首部说明和和方法体方法体两部分。两部分。方法首部说明的格式如下:方法首部说明的格式如下:方法修饰符 返回值类型 方法名(形参列表)throws异常列表 方法修饰符可能的选项有:方法修饰符可能的选项有:public|protected|private staticfinal|abstract native synchronized 4.方法体方法体 方法体是实现这个方法的代码段,它由方法体是实现这个方法的代码段,它由“”和和“”括起来的括起来的语句序列构成。语句序列
13、构成。4.2.2类体类体 5方法的调用方法的调用 成员方法又分为成员方法又分为类方法(静态方法)类方法(静态方法)和和对象方法(实例方法)对象方法(实例方法)两类。两类。类方法调用形式如下:类名.类方法名(实参列表)对象方法调用形式如下:对象名.对象方法名(实参列表)4.2.3 实例化对象实例化对象通过声明和定义类,只是给出了创建对象的模板通过声明和定义类,只是给出了创建对象的模板.当使用一个类创建了一个对象时当使用一个类创建了一个对象时,我们也说我们给出了这个类我们也说我们给出了这个类的一个实例。的一个实例。通常的格式为:通常的格式为:Type objectName=new Type(par
14、ameterList);创建一个对象包括对象的声明、为对象分配内存空间和赋初创建一个对象包括对象的声明、为对象分配内存空间和赋初值三个步骤。值三个步骤。1、对象的声明格式为:、对象的声明格式为:类的名字类的名字 对象名字对象名字2、为声明的对象分配内存.使用new 运算符和类的构造方法为声明的对象分配内存3、执行构造方法,进行初始化。4.2.3 实例化对象实例化对象【例4-1】下面的例子将建立雇员信息类EmpInfo,并实例化对象,然后打印出若干信息。/EmpInfo.javapublic class EmpInfo String name;/雇员的姓名 String designation;
15、/雇员的职务 String department;/雇员的部门 void print()/成员方法 System.out.println(name+is +designation+at +department);4.2.3 实例化对象实例化对象 public static void main(String args)EmpInfo employee=new EmpInfo();/创建对象并实例化 employee.name=Robert Javaman ;/给成员变量赋值 employee.designation=Manager ;/给成员变量赋值 employee.department=Co
16、ffee Shop ;/给成员变量赋值 employee.print();/调用方法print()运行结果如下:Robert Javaman is Manager at Coffee Shop4.2.4构造方法构造方法每当由类构造对象时都要调用该类特定的构造方法,在Java中,每个类都至少有一个构造方法。构造方法可以确保用户正确地构造类的对象,同时,构造方法也会对对象作初始化工作。构造方法说明形式如下:构造方法修饰符构造方法修饰符 方法名(方法名(形式参数列表形式参数列表)throws异常列表异常列表 方法体方法体 构造方法修饰符与一般方法修饰符相同 一个类的构造方法可以有多个,它们都具有相同
17、的方法名,即类名。编译器根据参数的类型来决定调用哪个构造方法。这就是构造方法的多态。4.2.4构造方法构造方法构造方法分为:缺省的构造方法、带参数的构造方法。(1)缺省的构造方法 如果类的定义没有编写构造方法,Java语言会自动为用户提供。这个由Java自动提供的构造方法就是所谓的缺省构造方法。缺省的构造方法确保每个Java类都至少有一个构造方法,该方法应符合方法的定义。(2)带参数的构造方法 带有参数的构造方法能够实现这样的功能:当构造一个新对象时,类构造方法可以按需要将一些指定的参数传递给对象的变量。4.2.5 对象的清除对象的清除通过垃圾收集器周期性地释放无用对象所使用的内存,完成对象的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 04 面向 对象 技术 基础 课件
限制150内