第04章面向对象技术基础课件.ppt

上传人(卖家):晟晟文业 文档编号:4845262 上传时间:2023-01-17 格式:PPT 页数:42 大小:399.50KB
下载 相关 举报
第04章面向对象技术基础课件.ppt_第1页
第1页 / 共42页
第04章面向对象技术基础课件.ppt_第2页
第2页 / 共42页
第04章面向对象技术基础课件.ppt_第3页
第3页 / 共42页
第04章面向对象技术基础课件.ppt_第4页
第4页 / 共42页
第04章面向对象技术基础课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、n将数据以及对于这些数据的操作,封装在一个单独的数据将数据以及对于这些数据的操作,封装在一个单独的数据结构中。结构中。n所有的对象都同时拥有属性以及与这些属性相关的行为。所有的对象都同时拥有属性以及与这些属性相关的行为。n对象之间的联系是通过消息来实现的。对象之间的联系是通过消息来实现的。n类、对象、封装、继承、消息类、对象、封装、继承、消息n封装、继承、多态封装、继承、多态n封装就是把对象的属性和和对这些属性的操作封装在一个封装就是把对象的属性和和对这些属性的操作封装在一个单独的数据结构中,并尽可能隐蔽对象的内部细节单独的数据结构中,并尽可能隐蔽对象的内部细节,包含,包含两个含义:两个含义:

2、n把对象的全部属性和对属性的全部操作把对象的全部属性和对属性的全部操作结合结合在一起,在一起,形成一个不可分割的独立单元(即对象)。形成一个不可分割的独立单元(即对象)。n信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个一个边界边界或者说形成一道屏障或者说形成一道屏障,只保留有限的对,只保留有限的对外接口使之与外部发生联系。外接口使之与外部发生联系。n继承是一种由已有的类创建新类的机制继承是一种由已有的类创建新类的机制.n利用继承利用继承,我们可以先创建一个拥有共有属性的一般类我们可以先创建一个拥有共有属性的一般类,根根据该一般类再创建具有特殊属

3、性的新类。据该一般类再创建具有特殊属性的新类。n新类继承一般类的状态和行为新类继承一般类的状态和行为,并根据需要增加它自己的并根据需要增加它自己的新的状态和行为。由继承而得到的类称为新的状态和行为。由继承而得到的类称为子类子类,被继承的被继承的类称为类称为父类父类或或超类超类。nJava不支持多重继承,子类只能有一个父类。不支持多重继承,子类只能有一个父类。3)多态)多态n对象的多态是由封装和继承引出的面向对象程序设计语言对象的多态是由封装和继承引出的面向对象程序设计语言的另一特征。的另一特征。n多态主要体现在两个方面:方法重载时实现的多态主要体现在两个方面:方法重载时实现的静态多态静态多态和

4、和方法重写时实现的方法重写时实现的动态多态动态多态。类声明的格式如下:类声明的格式如下:修饰符修饰符 class 类名类名 extends 父类名父类名 implements接口接口名列表名列表 修饰符可能的选项有:修饰符可能的选项有:publicabstract|final public(公共):public修饰的类能被所有的类访问。abstract(抽象):abstract修饰的类不能被实例化,它包含 有未实现的方法。final(最终):final修饰的类不能被继承,即不能有子类。注意:abstract和final不能同时作为一个类的修饰符。当一个类有多个修饰符时,这些修饰符无先后顺序之分

5、。extends(继承继承):extends保留字用来表明新创建的类继承哪个类,被继承的类称为此类的父类。extends后面只能跟一个父类名。implements(实现实现):用来表明这个类实现了哪些接口,接口名可以有多个。例如:下面的类是合法的:class MyClass /空类,没有任何用处,但是合法 又如:下面的Rectangle类继承了Shapes父类,实现了接口Display,是一个公共类。public class Rectangle extends Shapes implement Display /类体类体中定义了该类所有的成员变量和该类所支持的方法,其格式说明如下:成员变量说明

6、成员变量说明 成员方法说明成员方法说明 1成员变量说明成员变量说明 成员变量又称值域。成员变量定义在类中,是类成员的一部分,整个类都可以访问它。Java中成员变量说明形式如下:修饰符修饰符 成员变量类型成员变量类型 成员变量名列表成员变量名列表;例如:private int number;成员变量的修饰符有以下几种:缺省访问修饰符、public、protected、private、final、static、transient和volatile。关于这些修饰符的含义以后将讲到。2成员变量使用成员变量使用(1)类的成员变量在)类的成员变量在定义它的类内部定义它的类内部,可以直接通过成员变,可以直接

7、通过成员变量名来访问。量名来访问。类成员变量类成员变量类变量(用类变量(用static修饰)修饰)实例变量实例变量(2)从类的)从类的外部外部访问,类变量和实例变量的使用方法是不同。访问,类变量和实例变量的使用方法是不同。访问类变量的格式:访问类变量的格式:类名.类变量类变量名 访问实例变量的格式如下:访问实例变量的格式如下:对象名.实例变量名 class Circle static final float PI=3.1415926f;/常量常量 private Point center;/private float radius;/实例变量实例变量 static Color color;/类

8、变量类变量 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);3、成员方法说明、成员方法说明 Java通过类的方法,改变对象的状态。通过类的方法,改变对象的状态。方法说明分为方法说明分为方法首部说明方法首部说明和和方法体方法

9、体两部分。两部分。方法首部说明的格式如下:方法首部说明的格式如下:方法修饰符 返回值类型 方法名(形参列表)throws异常列表 方法修饰符可能的选项有:方法修饰符可能的选项有:public|protected|private staticfinal|abstract native synchronized 4.方法体方法体 方法体是实现这个方法的代码段,它由方法体是实现这个方法的代码段,它由“”和和“”括起来的括起来的语句序列构成。语句序列构成。5方法的调用方法的调用 成员方法又分为成员方法又分为类方法(静态方法)类方法(静态方法)和和对象方法(实例方法)对象方法(实例方法)两类。两类。类方

10、法调用形式如下:类名.类方法名(实参列表)对象方法调用形式如下:对象名.对象方法名(实参列表)通过声明和定义类,只是给出了创建对象的模板通过声明和定义类,只是给出了创建对象的模板.当使用一个类创建了一个对象时当使用一个类创建了一个对象时,我们也说我们给出了这个类我们也说我们给出了这个类的一个实例。的一个实例。通常的格式为:通常的格式为:Type objectName=new Type(parameterList);创建一个对象包括对象的声明、为对象分配内存空间和赋初创建一个对象包括对象的声明、为对象分配内存空间和赋初值三个步骤。值三个步骤。1、对象的声明格式为:、对象的声明格式为:类的名字类的

11、名字 对象名字对象名字2、为声明的对象分配内存.使用new 运算符和类的构造方法为声明的对象分配内存3、执行构造方法,进行初始化。【例4-1】下面的例子将建立雇员信息类EmpInfo,并实例化对象,然后打印出若干信息。/EmpInfo.javapublic class EmpInfo String name;/雇员的姓名 String designation;/雇员的职务 String department;/雇员的部门 void print()/成员方法 System.out.println(name+is +designation+at +department);public static

12、 void main(String args)EmpInfo employee=new EmpInfo();/创建对象并实例化 employee.name=Robert Javaman ;/给成员变量赋值 employee.designation=Manager ;/给成员变量赋值 employee.department=Coffee Shop ;/给成员变量赋值 employee.print();/调用方法print()运行结果如下:Robert Javaman is Manager at Coffee Shop每当由类构造对象时都要调用该类特定的构造方法,在Java中,每个类都至少有一个构

13、造方法。构造方法可以确保用户正确地构造类的对象,同时,构造方法也会对对象作初始化工作。构造方法说明形式如下:构造方法修饰符构造方法修饰符 方法名(方法名(形式参数列表形式参数列表)throws异常列表异常列表 方法体方法体 构造方法修饰符与一般方法修饰符相同 一个类的构造方法可以有多个,它们都具有相同的方法名,即类名。编译器根据参数的类型来决定调用哪个构造方法。这就是构造方法的多态。构造方法分为:缺省的构造方法、带参数的构造方法。(1)缺省的构造方法 如果类的定义没有编写构造方法,Java语言会自动为用户提供。这个由Java自动提供的构造方法就是所谓的缺省构造方法。缺省的构造方法确保每个Jav

14、a类都至少有一个构造方法,该方法应符合方法的定义。(2)带参数的构造方法 带有参数的构造方法能够实现这样的功能:当构造一个新对象时,类构造方法可以按需要将一些指定的参数传递给对象的变量。通过垃圾收集器周期性地释放无用对象所使用的内存,完成对象的清除。垃圾收集器作为一个线程运行,当系统的内存用尽或程序中调用System.gc()要求进行垃圾收集时,垃圾收集线程与系统同步运行,否则垃圾收集器在系统空闲时异步地执行。在对象作为垃圾被收集器释放前,Java运行时系统会自动调用对象的方法finialize()。protected void finalize()throws Throwable/撤销对象

15、finalize()方法是类java.lang.Object中最基本的方法。方法重载(Method Overloading)就是一个类中可以有多个方法具有相同的名字,但这些方法的参数方法的参数必须不同:即或者是参数的个数参数的个数不同,或者是参数的类型参数的类型不同。从另外的含义上来讲,重载也可以看成是同一个方法具有不同的版本,每个版本之间在参数特征和返回值方面有差别。重载是Java实现多态性的一种方式。当调用一个重载方法时,JVM自动根据当前对方法的调用形式在类的定义中匹配形式符合的成员方法,匹配成功后,执行参数类型、数量均相同的成员方法。方法重载在Java的API类库中得到大量的使用。为了

16、能使用Java中已提供的类,我们需要用import语句来引入所需要的类。其格式为 import package1.package2.(classname|*);import语句其中package1package2表明包的层次,与package语句相同,它对应于文件目录,classname则指明所要引入的类,如果要从一个包中引入多个类,则可以用星号(*)来代替。例如:import java.util.Date;import java.util.*;import javax.swing.event.*;public static void main(String args)System.out.p

17、rintln(“Hello World!”);njavac d.HelloWorldApp.javanjava p1.HelloWorldAppn如果声明一个成员变量或成员方法的访问类型为如果声明一个成员变量或成员方法的访问类型为public,则位,则位于不同包中的类都可以访问公共类型的成员变量。于不同包中的类都可以访问公共类型的成员变量。n声明为声明为protected访问类型的成员变量或成员方法,只能够被访问类型的成员变量或成员方法,只能够被该类内部、子类和相同包中的类访问。该类内部、子类和相同包中的类访问。n如果成员变量或成员方法为缺省类型,则能够被该类内部和相如果成员变量或成员方法为缺

18、省类型,则能够被该类内部和相同包中的类访问。同包中的类访问。n私有类型(私有类型(private)n如果一个变量或成员声明为私有类型,则该变量或方法只能在如果一个变量或成员声明为私有类型,则该变量或方法只能在同一类中被访问。同一类中被访问。1)final修饰成员变量修饰成员变量如果一个成员变量前面有如果一个成员变量前面有final修饰,那么这个成员变量修饰,那么这个成员变量就变成了就变成了常量常量,一经赋值,就不允许在程序的其他地方,一经赋值,就不允许在程序的其他地方修改。修改。2)final修饰方法修饰方法方法的方法的final修饰符表明方法不能被子类覆盖。带有修饰符表明方法不能被子类覆盖。

19、带有final修饰符的方法称为修饰符的方法称为最终方法最终方法。3)final类类final类不能被继承。类不能被继承。n关键字this是用来指向当前对象或类实例的。例如:class Demothis int a;/成员变量 public Demothis(int a)this.a=a;nsuper关键字指明是对父类的引用。super.variable;super.method(para_list);super(para_list)nnull表示类或者变量是空,不代表任何对象或实例。类java.lang.Object处于java开发环境的类层次的根部,其它所有的类都是直接或间接地继承了此类。该

20、类定义了一些最基本的状态和行为。nJAR 文件就是 Java Archive File,是 Java 的一种文档格式。n包含了一个 META-INF/MANIFEST.MF 文件。n使用jar.exe 把一些文件压缩成一个JAR文件,来发布我们的应用程序。JAR文件的制作步骤如下:假设应用程序中有两个类A、B,其中A类是主类(其中包含了main()方法).1)首先用文本编辑器比如Windows下的记事本编写一个清单文件/Mymoon.mfManifest-Version:1.0Main-Class:ACreated-By:1.2.2(Sun Microsystems Inc.)比如,保存Mym

21、oon.mf 到D:userchap04.需要注意的是在编写清单文件时,在”Manifest-Version”和“1.0”之间,”Main-Class”和主类”A”之间,以及”Created-By”和”1.2.2”之间必须有且只有一个空格.2)生成JAR文件D:userchap04jar cfm Tom.jar Mymoon.mf A.class B.class其中:c 表示要生成一个新的JAR 文件f 表示要生成的JAR 文件的名字m 表示文件清单文件的名字。我们在发布我们的软件时,还可以再写一个有如下内容的bat文件Tom.batTom.bat文件中内容如下:java-jar Tom.jar 我们还可以将这个jar 文件存放到Java 运行环境的扩展类目录下,即将该jar 文件存放在JDK 安装目录的jrelibext 文件夹中.这样,其他的程序就可以使用这个jar文件中的类来创建对象了。有关jar.exe的详细使用方法详见JDK帮助文档。

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第04章面向对象技术基础课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|