OOP技术:面向对象技术

上传人:jiups****uk12 文档编号:39441186 上传时间:2018-05-15 格式:DOC 页数:20 大小:101KB
返回 下载 相关 举报
OOP技术:面向对象技术_第1页
第1页 / 共20页
OOP技术:面向对象技术_第2页
第2页 / 共20页
OOP技术:面向对象技术_第3页
第3页 / 共20页
OOP技术:面向对象技术_第4页
第4页 / 共20页
OOP技术:面向对象技术_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《OOP技术:面向对象技术》由会员分享,可在线阅读,更多相关《OOP技术:面向对象技术(20页珍藏版)》请在金锄头文库上搜索。

1、OOP 技术:面向对象技术教案名称:教案大小:教案类型:WORD 文档星级评定: 教案简介:类是 Java 语言面向对象编程的基本元素,它定义了一个对象的结构和功能。 Java类中包含成员变量和成员方法。成员变量有两种,用 static 关键字修饰的变量为类变量,无 static 修饰的变量为实例变量。相应地,成员方法也有两种,用 static 修饰的为类方法,无 static 修饰的为实例方法。实例方法不仅可以对当前对象的实例变量进行操作,也可以对类变量进行操作;但类方法只能访问类变量。实例变量和实例方法必须由实例对象来调用,而类变量和类方法不仅可由实例对象来调用,还可由类名直接调用。Jav

2、a 通过在类定义的大括号里声明变量来把数据封装在一个类里,这里的变量称为成员变量。为了解决类名可能相同的问题,java 中提供包来管理类名空间。封装性、继承性和多态性是 java 语言中面向对象的三个特性。下载一第三章第三章 面向对象技术面向对象技术【课前思考课前思考】1 什么是对象?什么是类? 2 面向对象编程的特性有哪三个?它们各自又有哪些特性?3 你知道 java 语言在面向对象编程方面有何独特的特点吗?【学习目标学习目标】本讲主要讲述了 java 语言的面向对象技术,包括面向对象的基本概念、面向对象的程序设计方法及 java 中的类、包、对象、的特性。通过本讲的学习,同学们可以使用面向

3、对象技术编写java 程序。【学习指南学习指南】应深刻理解各知识点的概念,使用上一讲的编程基础知识及面向对象技术,编写简单的 java类,由浅至深,养成风格良好的编程习惯。【难难 重重 点点】 重点:重点:1 仔细体会面向对象编程的思想,熟练理解类和对象的概念,理解面向对象的特性,会编写简单的类,逐渐掌握面向对象编程的方法。2 注意 java 语言中,不允许多重继承,以及类变量和类方法的使用。难点:难点:1 理解方法重载和方法重写,不要混淆了两者的使用。2 类变量和类方法的使用。【知知 识识 点点】31 面向对象技术基础311 面向对象的基本概念312 面向对象的基本特征313 面向对象的程序

4、设计方法32 Java 语言的面向对象特性321 类322 对象323 面向对象特性31 面向对象技术基础面向对象技术基础311 面向对象的基本概念面向对象的基本思想面向对象的基本思想面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称作该软件的问题域。其应用领域不仅仅是软件,还有计算机体系结构和人工智能等。1 对象的基本概念对象的基本概念

5、对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成的。主动对象是一组属性和一组服务的封装体,其中至少有一个服务不需要接收消息就能主动执行(称作主动服务)。2 类的基本概念类的基本概念把众多的事物归纳、划分成一些类是人类在认识客观世界时经常采用的思维方法。分类的原则是抽象。类是具有相同属性和服务的一组对象的集合,它为属于该类的

6、所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。3 消息消息消息就是向对象发出的服务请求,它应该包含下述信息:提供服务的对象标识、服务标识、输入信息和回答信息。服务通常被称为方法或函数。312 面向对象的基本特征面向对象的基本特征1封装性封装性封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义: 把对象的全部属性和全部服务结合在一起,形成一个不可分割

7、的独立单位(即对象)。 信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界或者说形成一道屏障,只保留有限的对外接口使之与外部发生联系。封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的“交叉感染“,使软件错误能够局部化,大大减少查错和排错的难度。2继承性继承性特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。例如,轮船、客轮;人、大人。一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承。例如,客轮是轮船和客运工具的特殊类。在 java 语言中,通常我们称一般类为父类(supercl

8、ass,超类),特殊类为子类(subclass)。3多态性多态性对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。例如:“几何图形“的“绘图“方法,“椭圆“和“多边形“都是“几何图“的子类,其“绘图“方法功能不同。313 面向对象程序设计方法面向对象程序设计方法OOAObject Oriented Analysis 面向对象的分析OODObject Oriented Design 面向对象的设计OOIObject Oriented Implementation 面向对象的实现32

9、Java 语言的面向对象特性321 类类类是 java 中的一种重要的复合数据类型,是组成 java 程序的基本要素。它封装了一类对象的状态和方法,是这一类对象的原形。一个类的实现包括两个部分:类声明和类体类声明和类体。1类声明:类声明:publicabstract|final class className extends superclassName implements interfaceNameList其中,修饰符 public,abstract,final 说明了类的属性,className 为类名,superclassName 为类的父类的名字,interfaceNameList

10、为类所实现的接口列表。2类体类体类体定义如下:class classNamepublic | protected | private static final transient volatile typevariableName; /成员变量public | protected | private staticfinal | abstract native synchronizedreturnType methodName(paramList) throws exceptionListstatements /成员方法3成员变量成员变量成员变量的声明方式如下:public | protecte

11、d | private static final transient volatile typevariableName; /成员变量其中,static: 静态变量(类变量);相对于实例变量final: 常量transient: 暂时性变量,用于对象存档volatile: 贡献变量,用于并发线程的共享4成员方法成员方法方法的实现包括两部分内容:方法声明和方法体。public | protected | private staticfinal | abstract native synchronizedreturnType methodName(paramList)throws exceptio

12、nList /方法声明statements /方法体方法声明中的限定词的含义:static: 类方法,可通过类名直接调用abstract: 抽象方法,没有方法体final: 方法不能被重写native: 集成其它语言的代码synchronized: 控制多个并发线程的访问 方法声明方法声明方法声明包括方法名、返回类型和外部参数。其中参数的类型可以是简单数据类型,也可以是复合数据类型(又称引用数据类型)。对于简单数据类型来说,java 实现的是值传递,方法接收参数的值,但不能改变这些参数的值。如果要改变参数的值,则用引用数据类型,因为引用数据类型传递给方法的是数据在内存中的地址,方法中对数据的操

13、作可以改变数据的值。例 3-1 说明了简单数据类型与引用数据的区别。【例 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);

14、/*值参数值的修改,没有影响值参数的值*/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

15、)ref.ptValue=99f; /在方法内部对引用参数进行了修改查看运行结果 方法体方法体方法体是对方法的实现,它包括局部变量的声明以及所有合法的 Java 指令。方法体中声明的局部变量的作用域在该方法内部。若局部变量与类的成员变量同名,则类的成员变量被隐藏。例 3-2 说明了局部变量 z 和类成员变量 z 的作用域是不同的。【例 3-2】import java.io.*;class Variableint x=0,y=0,z=0; /类的成员变量void init(int x,int y) this.x=x; this.y=y; int z=5; /局部变量System.out.println(“* in init*“);System.out.println(“x=“+x+“ y=“+y+“ z=“+z); public class VariableTestpublic static void main(String args)Variable v=new Variable();System.out.pri

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号