面向对象的核心特征.ppt

上传人:本田雅阁 文档编号:2321608 上传时间:2019-03-20 格式:PPT 页数:34 大小:691.51KB
返回 下载 相关 举报
面向对象的核心特征.ppt_第1页
第1页 / 共34页
面向对象的核心特征.ppt_第2页
第2页 / 共34页
面向对象的核心特征.ppt_第3页
第3页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《面向对象的核心特征.ppt》由会员分享,可在线阅读,更多相关《面向对象的核心特征.ppt(34页珍藏版)》请在三一文库上搜索。

1、第三章 面向对象的核心特征,时间安排:5课时,本章目标,理解对象 理解类 理解抽象和封装 理解对象与类之间的关系 理解继承、多态 理解抽象类和最终类,2,3.1 类和对象,3,你看到什么?,4,对象,5,“对象是存在的具体实体,具有明确定义的状态和行为。”,类,是具有相同特性的对象的抽象描述 是对象的模版 不参与程序运行 一种数据类型,6,封装性,7,“隐藏属性、方法或实现细节的过程称为封装。”,继承性,提供从父类创建新类的机制 单重继承 代码复用 子类是父类,8,多态性,类中方法执行的多样性 重载和覆盖(改写),9,定义类,类声明 成员变量; 成员方法; 修饰符 class 类 extend

2、s 父类 implements 接口列表,10,声明成员变量,同一般变量的声明 修饰符 static final transient 类型 变量名; 必须声明在类体中,且不在方法中。 public class Date int year,month,day; ,11,声明成员方法,修饰符 返回值类型 方法名(参数列表) throws 异常类列表 方法体 public class Date int year,month,day; void setDate(int y,int m,int d) /成员方法 year=y; month=m; day=d; ,12,声明main方法,public st

3、atic void main(String args) 是程序执行的入口 只有拥有该方法的类才可以被JVM执行。,13,演示示例3.1,使用对象,声明对象 实例化对象 对象=new 构造方法(参数) Date1 aday=new Date1(); 使用对象的成员 对象.成员变量 对象.成员方法(参数) aday.year = 2006;/引用对象的成员变量 aday.setDate(2006,1,28);/调用对象的方法 “abcd“.equals(“abc“),14,对象的引用模型,15,对象的引用模型,16,方法调用时的参数传递原则 基本数据类型参数传递值; 引用数据类型参数传递引用。 释

4、放对象 Java语言具有资源回收机制,能够跟踪存储单元的使用情况,自动收回不再被使用的资源。 【例3.2】 引用数据类型作为方法的参数和返回值。,演示示例3.2,3.2 类的封装性,将数据和对数据的操作组合起来构成类 类既要提供和外部联系的方法,又要尽量隐藏类的实现细节。,17,内容:,18,3.2.1 构造方法与析构方法 3.2.2 方法的重载 3.2.3 this引用和instanceof对象运算符 3.2.4 类及其成员的访问权限 3.2.5 实例成员与类成员,public class Date2 public Date2(int y, int m, int d) /声明构造方法 /构造

5、方法与类同名,构造方法返回该类的一个实例 year = y; month = m; day = d; ,19,构造方法,特殊的成员方法 用于创建类的实例并初始化该实例对象 声明构造方法 与类名相同 不需要写返回值类型 说明 不声明,则有默认无参的构造方法 声明了带参的,则不会自动生成默认无参的 只能通过new来使用,20,public void finalize() /析构方法 语句序列; ,21,析构方法,用于释放类的实例并执行特定操作 finalize 无参 无返回值 不可重载 可以使用 对象名.finalize()来调用 一般不需要定义,22,Math.abs()方法声明有4种: int

6、 abs(int a) long abs(long a) float abs(float a) double abs(double a),23,方法重载,方法名相同但是参数列表不同 构造函数也可以重载 Date2 aday1 = new Date2(); Date2 aday2 = new Date2(2006,2,28); 拷贝构造方法 使用已经存在的对象创建新对象,实现对象的复制,24,25,Date2 aday3 = new Date2(aday2); /由已知对象创建新对象,this引用,指代对象本身 访问本类的成员 this.成员变量 this.成员方法(参数列表) 避免同名的冲突

7、调用本来重载的构造方法 this(参数) 必须是第一句,26,instanceof运算符,判断一个对象是否是指定的类,返回boolean类型 Date d = new Date(2007,9,12); date instanceof Date,27,类中成员的访问权限,28,类的访问权限,类的访问权限:只有public和缺省两种 。 public class Date1 /公有的类 class Date1_ex /默认的类,29,例3.3 日期类的封装,30,设计并重载构造方法 成员变量设计为私有的访问权限,限制其他类对成员变量的访问 成员方法设计为公有的访问权限,提供给其他类使用 使用thi

8、s引用增强程序的可维护性 运行包含main()方法的类 日期类的设计问题讨论,演示示例3.3,实例成员与类成员,实例成员变量与类成员变量 两者声明时的差别 public class Person1 String name; /姓名,实例成员变量 int age; /年龄 static int count; /人数,类成员变量 两者存储结构的差别 两者引用方式的差别,31,实例成员变量与类成员变量的存储结构不同,32,实例成员方法与类成员方法,33,两者声明时的差别 public static int howMany() /类成员方法 return count; /类成员方法只能访问类成员变量 public static void main(String args)/main方法也是类成员方法 两者方法体中语句的差别 在类成员方法体中,不能使用this引用。 两者调用方式的差别 Person1.howMany(); /通过类名调用类成员方法 p1.howMany(); /通过对象调用类成员方法,【例3.4】 实例成员与类成员,34,类成员的作用和调用 set方法可以重载,get方法不能重载 方法体中的局部变量不能使用修饰符 调用对象的析构方法后,不能再引用对象,演示示例3.4,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1