面向对象技术课件.ppt
《面向对象技术课件.ppt》由会员分享,可在线阅读,更多相关《面向对象技术课件.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象技术1第1页,此课件共28页哦软件学院2本章内容n3.1 面向对象技术基础n3.2 Java语言的面向对象特性第2页,此课件共28页哦软件学院33.1 面向对象技术基础第3页,此课件共28页哦软件学院43.1.1 面向对象的基本概念 n面向对象的基本思想面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称作该软件的问题域。其应用领域
2、不仅仅是软件,还有计算机体系结构和人工智能等。第4页,此课件共28页哦软件学院53.1.1 面向对象的基本概念n1 对象的基本概念对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。主动对象是一组属性和一组服务的封装体,其中至少有一个服务不需要接收消息就能主动执行(称作主动服务)。n2 类的基本概念 类是具有相同属性和服务的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。n3 消
3、息 消息就是向对象发出的服务请求,它应该包含下述信息:提供服务的对象标识、服务标识、输入信息和回答信息。服务通常被称为方法或函数。第5页,此课件共28页哦软件学院63.1.2 面向对象的基本特征 n1封装性封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界或者说形成一道屏障,只保留有限的对外接口使之与外部发生联系。封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误
4、对它的交叉感染,使软件错误能够局部化,大大减少查错和排错的难度。第6页,此课件共28页哦软件学院73.1.2 面向对象的基本特征n2继承性特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承。在java语言中,通常我们称一般类为父类(superclass,超类),特殊类为子类(subclass)。n3多态性对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。例如:几何图形的绘图方法,椭圆和多
5、边形都是几何图的子类,其绘图方法功能不同。第7页,此课件共28页哦软件学院83.1.3 面向对象程序设计方法 nOOAObject Oriented Analysis 面向对象的分析nOODObject Oriented Design 面向对象的设计nOOIObject Oriented Implementation 面向对象的实现 第8页,此课件共28页哦软件学院93.2 Java语言的面向对象特性第9页,此课件共28页哦软件学院103.2.1 类n类是java中的一种重要的复合数据类型,是组成java程序的基本要素。它封装了一类对象的状态和方法,是这一类对象的原形。一个类的实现包括两个部分
6、:类声明和类体 n1类声明:publicabstract|final class className extends superclassName implements interfaceNameList其中,修饰符public,abstract,final 说明了类的属性,className为类名,superclassName为类的父类的名字,interfaceNameList为类所实现的接口列表。第10页,此课件共28页哦软件学院113.2.1 类n2类体类体定义如下:class classNamepublic|protected|private static final transien
7、t volatile typevariableName;/成员变量public|protected|private staticfinal|abstract native synchronizedreturnType methodName(paramList)throws exceptionListstatements /成员方法 第11页,此课件共28页哦软件学院123.2.1 类n3成员变量成员变量的声明方式如下:public|protected|private static final transient volatile typevariableName;/成员变量其中,static:
8、静态变量(类变量);相对于实例变量final:常量transient:暂时性变量,用于对象存档,用于对象的串行化,见对象的串行化一节volatile:贡献变量,用于并发线程的共享 第12页,此课件共28页哦软件学院133.2.1 类n4成员方法方法的实现包括两部分内容:方法声明和方法体。public|protected|private staticfinal|abstract native synchronizedreturnType methodName(paramList)throws exceptionList/方法声明statements/方法体方法声明中的限定词的含义:static:
9、类方法,可通过类名直接调用abstract:抽象方法,没有方法体final:方法不能被重写native:集成其它语言的代码synchronized:控制多个并发线程的访问第13页,此课件共28页哦软件学院143.2.1 类n 方法声明方法声明包括方法名、返回类型和外部参数。其中参数的类型可以是简单数据类型,也可以是复合数据类型(又称引用数据类型)。对于简单数据类型来说,java实现的是值传递,方法接收参数的值,但不能改变这些参数的值。如果要改变参数的值,则用引用数据类型,因为引用数据类型传递给方法的是数据在内存中的地址,方法中对数据的操作可以改变数据的值。例3-1说明了简单数据类型与引用数据的
10、区别。第14页,此课件共28页哦软件学院15【例3-1】import java.io.*;public class PassTestfloat ptValue;public static void main(String args)int val;PassTest pt=new PassTest();val=11;System.out.println(Original Int Value is:+val);pt.changeInt(val);/值参数System.out.println(Int Value after Change is:+val);/*值参数 值的修改,没有影响值参数的值*/
11、pt.ptValue=101f;System.out.println(Original ptValue is:+pt.ptValue);pt.changeObjValue(pt);/引用类型的参数System.out.println(ptValue after Change is:+pt.ptValue);/*引用参数值的修改,改变了引用参数的值*/public void changeInt(int value)value=55;/在方法内部对值参数进行了修改public void changeObjValue(PassTest ref)ref.ptValue=99f;/在方法内部对引用参数进
12、行了修改第15页,此课件共28页哦软件学院163.2.1 类n 方法体方法体是对方法的实现,它包括局部变量的声明以及所有合法的Java指令。方法体中声明的局部变量的作用域在该方法内部。若局部变量与类的成员变量同名,则类的成员变量被隐藏。为了区别参数和类的成员变量,我们必须使用this。this-用在一个方法中引用当前对象,它的值是调用该方法的对象。返回值须与返回类型一致,或者完全相同,或是其子类。当返回类型是接口时,返回值必须实现该接口。第16页,此课件共28页哦软件学院173.2.1 类n5方法重载 方法重载是指多个方法享有相同的名字,但是这些方法的参数必须不同,或者是参数的个数不同,或者是
13、参数类型不同。返回类型不能用来区分重载的方法。参数类型的区分度一定要足够,例如不能是同一简单类型的参数,如int与long。编译器会根据参数的个数和类型来决定当前所使用的方法。6 构造方法 构造方法是一个特殊的方法。Java 中的每个类都有构造方法,用来初始化该类的一个对象。构造方法具有和类名相同的名称,而且不返回任何数据类型。重载经常用于构造方法。构造方法只能由new运算符调用 322 对象类实例化可生成对象,对象通过消息传递来进行交互。消息传递即激活指定的某个对象的方法以改变其状态或让它产生一定的行为。一个对象的生命周期包括三个阶段:生成、使用和消除。对象的清除当不存在对一个对象的引用时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 技术 课件
限制150内