欢迎来到天天文库
浏览记录
ID:58882987
大小:143.00 KB
页数:72页
时间:2020-09-30
《Java语言程序设计基础教程(第3章)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章 类和对象面向对象技术基础类的概念、定义与使用对象的生成、使用、清除static关键字this关键字final关键字Java类中的限定词包和import语句3.1面向对象技术基础3.1.1面向对象的基本概念面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。1.对象的基本概念对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一
2、个对象由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成的。主动对象是一组属性和一组服务的封装体,其中至少有一个服务不需要接收消息就能主动执行(称作主动服务)。2.类的基本概念把众多的事物归纳、划分成一些类是人类在认识客观世界时经常采用的思维方法。分类的原则是抽象。类是具有相同属性和服务的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内
3、部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。3.消息消息就是向对象发出的服务请求,它应该包含下述信息:提供服务的对象标识、服务标识、输入信息和回答信息。服务通常被称为方法或函数。3.1.2面向对象的基本特征1.封装性封装性就是把对象的属性和服务结合成一个独立的单位,并尽可能隐蔽对象的内部细节,包含两个含义:把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对
4、象)。信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的“交叉感染”,使软件错误能够局部化,大大减少查错和排错的难度。2.继承性特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。例如,轮船、客轮;人、大人。一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承。例如,客轮是轮船和客运工具的特殊类。在Java语言中,通常我们称一
5、般类为父类(superclass,超类),特殊类为子类(subclass)。3.多态性对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。例如:“几何图形”的“绘图”方法,“椭圆”和“多边形”都是“几何图”的子类,其“绘图”方法功能不同。3.1.3面向对象程序设计方法面向对象程序设计方法可分为面向对象的分析(OOA,ObjectOrientedAnalysis)、面向对象的设计(OOD,ObjectOrientedDesign)和面向对
6、象的实现(OOI,ObjectOrientedImplementation)三个阶段。3.2类的定义与使用类是组成Java程序的基本要素,是Java中的一种重要的复合数据类型。它封装了一类对象的状态和方法,是这一类对象的原形。一个类的实现包括两个部分:类声明和类体。基本格式为:class{}class是关键字,用来定义类。“class”是类的声明部分,类名必须是合法的Java标识符。两个大括号以及之间的
7、内容是类体。3.2.2类声明Java中类声明的语法如下:[public][abstract
8、final]classclassName[extendssuperclassName][implementsinterfaceNameList]{……}其中,修饰符public,abstract,final说明了类的属性,className为类名,superclassName为类的父类的名字,interfaceNameList为类所实现的接口列表习惯上类名的第一个字母大写,但这不是必需的。类的名字不能是Java中的关键字,要符合标识符规定,名字可以由字母、
9、下划线、数字或美元符号组成,并且第一个字符不能是数字。给类命名时,最好遵守下列习惯。1)如果类名使用拉丁字母,那么名字的首写字母使用大写
此文档下载收益归作者所有