文档详情

Java面向对象的程序设计.doc

发布:2017-02-14约字共8页下载文档
文本预览下载声明
面对对象的程序设计 一、面对对象的基本概念 1.面对对象的术语(核心:类和对象) 1对象 (1)现实世界中的对象 对象可以是有生命的个体、无生命的个体、抽象的概念。 (2)程序员严重的对象 程序员眼中的对象具有属性(也成为成员变量)和行为(也称为成员方法)。 2类 (1)类的概念 将相同的对象归并为一个“类”。 (2)类的实例化 类是同类对象的集合,因此类和对象的关系是整体和个体的关系。从个体(对象)进行抽象,得到整体(类)的概念;从整体(类)进行实例化,得到个体或实例(对象)。因此,对象也称为类的实例,从类中导出实例的过程称为类的实例化。 类的每个实例(对象)具有相同的属性和行为,但是属性的值是各有不同的。 3消息 用面向对象的术语来表示这种交互,称为传递消息,即“发消息给某个对象”。 2.面向对象的基本特征 1封装性 封装是把属性和方法包装起来,只将必要的信息暴露给外界,而将其他信息隐藏起来,以防止外界的干扰和误用,从而实现信息隐藏及模块化。 封装可以实现对象的设计者和使用者的分离,使用者不必知道行为实现的细节只需要知道如何传递消息(即如何调用方法)即可。 2继承性 继承的最大好处是代码复用。如:子类、继承类复用超类、父类、基类的代码。 3多态性 多态是指一个方法只有一个名称,但可以有多种行为,即程序中可以定义多个同名的方法,从而解决同名方法的问题。不仅如此,还需要解决在执行过程中,动态地确定实际调用方法的哪个版本的问题。 3.类的封装 封装性是面向对象程序设计的基本特征。类的封装是通过类的声明来实现的,将类的属性(成员变量)和行为(成员方法)定义在类的内部,从而实现了类的封装。Java语言是完全面向对象的编程语言,所有元素都是被封装在类中的。 Java语言中的类分为两部分,一部分是类库,另一部分是用户自定义的类。 4.类的声明 声明类的语法格式如下: 【类修饰符】 class 类名 【extends基类】 【implements 接口列表】{ 【成员变量声明】 【构造方法定义】 【成员方法定义】 } 类修饰符【可选】:有public、final等 类名:类的名字 基类【可选】:继承基类,只能继承一个基类 接口列表【可选】:实现接口,可以实现多个接口 类体:用一对花括号括起来的类体,类体中可以有成员变量声明、构造方法定义和成员方法定义 在类中声明成员变量和定义成员方法,体现了类的属性和行为。 通常一个类对应一个源代码文件,在文件的命名方面需要注意以下几点。 如果一个源代码文件中包含有公开(public)类的定义,则该源代码文件名必须与该公开类的名字完全一致,字母的大小写都必须一样。 一个源代码文件中最多只能有一个公开类的定义。 如果一个源代码文件中不包含公开类的定义,则该文件名可以任意取名,但建议与其中的一个类名完全相同。 如果在一个源代码文件中有多个类定义,则在编译时将每个类生成一个.class文件,.class文件的文件名与类名相同,而与源代码文件名无关。 在同一个包中不能有同名的类存在,不论是在同一个源代码文件中,还是在不同的源代码文件中。 5. 成员变量 Java语言中的变量有4种,即成员变量、局部变量、方法参数变量和异常处理参数变量。成员变量体现的是类的属性,因此它被称声明在类的内部和方法的外部。 1成员变量的声明 声明成员变量的语法格式如下: 【变量修饰符】 数据类型 变量名 【 = 初始值】; 变量修饰符【可选】:有public、private、static等。 数据类型:变量的数据类型,可以是基本数据类型,也可以是引用数据类型。 变量名:变量的名字。 初始值【可选】:它的数据类型应该与变量的数据类型一致。 成员变量与局部变量的比较如下: 功能不同:成员变量体现的是类的属性,而局部变量只是临时保存变量的值。 声明的位置不同:局部变量是声明在方法的内部,而成员变量是声明在方法的外面和类的内部。 作用域范围不同:成员变量的作用域范围是整个类,不论成员变量声明在方法的前面或后面,而局部变量的作用域范围是从声明开始处直到语句块的结束。 修饰符不同:局部变量只有一个修饰符final,其它的修饰符都不能用。 默认值不同:局部变量声明后不被初始化,成员变量声明后被自动初始化(基本类型被初始化为默认值,引用数据类型被初始化为(null)。 2成员变量的引用 1)同一类中的引用。引用同一个类中的成员变量,可以直接通过变量名引用。如果存在同名的局部变量、方法参数变量或异常处理参数变量,则需要在成员变量前加上关键字this,例如: This.age = age; 等号左边的this.age引用的是成员变量,等号右边的age引用的是同名的局部变量、方法参数变量或异常处理参数变量。还需要注意以下两点: 如果不存
显示全部
相似文档