类的封装继承和多态.ppt
《类的封装继承和多态.ppt》由会员分享,可在线阅读,更多相关《类的封装继承和多态.ppt(48页珍藏版)》请在三一办公上搜索。
1、Java程序设计实用教程(第3版)程序设计实用教程(第3版),第3章 类的封装、继承和多态,3.1 类和对象3.2 类的封装性3.3 类的继承性3.4 类的多态性3.5 类的抽象性,Java程序设计实用教程(第3版)程序设计实用教程(第3版),在面向对象概念中,类是数据和对数据操作的封装体。类具有封装性、继承性和多态 性。封装性是面向对象方法的基础.继承性是面向对象方法的技术关键多态性提供了面向 对象方法设计的灵活性。这三个面向对象的核心特性为应用程序构建可重用软件系统奠定了基础。,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.1.1 类,类是既包括数据又包括作用于数据的一
2、组操作的封装体。类中的数据称为成员变量,类中对数据的操作称为成员方法。类具有封装性、继承性、多态性和抽象性。,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.1.1 类,声明类类声明 成员变量的声明;成员方法的声明及实现;修饰符 class 类 extends 父类 implements 接口列表,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.1.1 类,声明成员变量和成员方法成员变量修饰符 static final transient 数据类型 变量;关键字static用于声明类成员变量,final用于声明常量,transient用于声明临时变量。成员方
3、法修饰符 返回值类型 方法(参数列表)throws 异常类 语句序列;return 返回值;成员方法重载,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.1.2 对象,对象是类的实例。对象能获取并保存类的一个实例。对象是动态的,每个对象都有自己的生存周期,都会经历一个从创建、运行到消亡的变化过程。,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.1.2 对象,声明对象类 对象创建实例对象=new 类的构造方法(参数列表)注意:类的构造方法是类中与类同名的特殊成员方法,用于创建类的实例并初始化对象。每个类都有构造方法,若类没有声明构造方法,则Java会自动为该
4、类生成一个无参数的构造方法。,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.1.2 对象,引用对象的成员变量和调用对象方法对象.成员变量对象.成员方法(参数列表)Java语言自动释放对象。【例3.1】声明日期类及使用日期对象。对象与基本数据类型变量有一点重要的不同之处,就是对象能够调用方法,而变量不能。,Java程序设计实用教程(第3版)程序设计实用教程(第3版),4.对象的引用模型,Java程序设计实用教程(第3版)程序设计实用教程(第3版),5.对象的关系运算与比较相等,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.2 类的封装性,封装性是面向对象的
5、核心特征之一,它提供一种信息隐藏技术。类的封装性包含两层含义:一是将数据和对数据的操作组合起来构成类,类是一个不可分割的独立单位。(实现软件模块化设计)二是实现信息隐藏,类要提供与外部联系的方法,同时又要尽可能隐藏类的实现细节。(实现设计和使用分离),Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.2 类的封装性,3.2.1 构造方法3.2.2 this引用和instanceof对象运算符3.2.3 访问控制 3.2.4 静态成员3.2.5 析构方法3.2.6 浅拷贝与深拷贝,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.2.1 构造方法,声明及调用构造方
6、法public class MyDate public MyDate(int y,int m,int d)/声明构造方法/构造方法与类同名 year=y;month=m;day=d;MyDate d=new MyDate(2009,7,18);/构造方法返回该类的一个实例默认构造方法public MyDate(),Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.拷贝构造方法(参数是该类对象),public MyDate(MyDate d)year=d.year;month=d.month;day=d.day;调用语句如下:MyDate d1=new MyDate(2009,7
7、,16);MyDate d2=new MyDate(d1);第2句功能相当于以下两句:MyDate d2=new MyDate();d2.set(d1);,Java程序设计实用教程(第3版)程序设计实用教程(第3版),4.构造方法重载,public MyDate(int y,int m,int d)public MyDate()public MyDate(MyDate d),Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.2.3 this引用和instanceof对象运算符,this引用指代对象本身this访问本类的成员变量和成员方法this.成员变量(局部变量或形参与成员变
8、量同名时,必须用this引用成员变量)this.成员方法(参数列表)调用本类重载的构造方法this(参数列表)(构造方法中this必须是首句)instanceof对象运算符d instanceof MyDate/运算结果是boolean型,Java程序设计实用教程(第3版)程序设计实用教程(第3版),类的访问权限:只有public和缺省两种。public class MyDate(所有类能访问,文件中只有一个)class MyDate_ex(同一包的类能访问)类中成员的访问权限public说明该类成员可被所有类的对象访问。protected说明该类成员能被同一类中的其他成员或其子类成员,保护成
9、员在子类和非子类中具有不同的访问权限。缺省以包为界划定访问权限范围。private说明该类成员只能被同一类中的其他成员访问。,3.2.4 访问控制,Java程序设计实用教程(第3版)程序设计实用教程(第3版),声明set()和get()方法存取对象的属性(尤其对私有变量),3.2.4 访问控制,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.2.5 静态成员,public class MyDate private int year,month,day;/实例成员变量 private static int thisYear;/静态成员变量 static/静态成员变量初始化 th
10、isYear=2009;public static int getThisYear()/静态成员方法 return thisYear;/访问静态成员变量,Java程序设计实用教程(第3版)程序设计实用教程(第3版),【例3.2】封装的日期类。,图3.3 实例成员变量与静态成员变量的存储结构不同,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.2.5 析构方法,public void finalize()/析构方法 语句序列;析构方法(destructor)是类中一种特殊的成员方法,用于释放类的实例并执行特定操作。Java语言的资源回收机制能够自动释放不再被使用的对象。类只能有
11、一个析构方法。,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.2.6 浅拷贝与深拷贝,浅拷贝,Java程序设计实用教程(第3版)程序设计实用教程(第3版),2.深拷贝,public Person(Person p)this(p.name,new MyDate(p.birthday);【例3.3】使用对象作为成员变量并实现深拷贝的Person类。,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.3 类的继承性,3.3.1 由继承派生类3.3.2 继承原则及作用 3.3.3 子类的构造方法,Java程序设计实用教程(第3版)程序设计实用教程(第3版),3.3.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 封装 继承
链接地址:https://www.31ppt.com/p-6597372.html