- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 类的封装、继承和多态 3.1 类和对象 3.2 类的封装性 3.3 类的继承性 3.4 类的多态性 3.5 类的抽象性 面向对象概述 面向对象概述: 面向对象编程(OOP)是当前主流的程序设计范型,是一种编程语言模式,它已经取代了70年代早期的结构化、过程化程序设计开发技术 面向对象编程的组织方式是围绕“对象”,而不是围绕“行为”;围绕数据,而非逻辑 面向对象程序采用的观点是“一切都是对象” 面向对象编程语言都提供面向对象模型的机制,这些机制就是:封装,继承和多态性 3.1 类和对象 类(class)是既包括数据又包括作用于数据的一组操作的封装体。 对象(object)是类的实例(instance)。 类具有封装性、继承性、多态性和抽象性。 3.1.1 类 3.1.2 对象 3.1.1 类 类中的数据----成员变量:放映类的状态和特征 类中的操作----成员方法:表示类的行为能力 成员变量和成员方法统称为类的成员,一个类中成员变量不能同名,成员方法可以同名。类的成员可以分为实例成员和静态成员(static)。 因而,一个类的声明包括两个方面: 3.1.1 类 1.声明类 [修饰符] class 类泛型 [extends 父类] [implements 接口列表] 3.1.1 类 声明成员变量和成员方法 (1)声明成员变量 [修饰符] 数据类型 变量[=表达式]{,变量=[表达式]} 3.1.1 类 (2)声明成员方法 [修饰符] 返回值类型 方法([参数列表]) [throws 异常类] { 语句序列; [return [返回值]]; } 3.1.1 类 (3)方法调用 方法([参数列表]) 3.1.1 类 注意: 不同的参数列表是指参数的数据类型或个数或次序不同。 void set(int y,int m,int x){}; void set(int m,int x,int y){}; 不是方法的重载。为什么? 3.1.2 对象 3.1.2 对象 声明对象 类 对象 创建实例 对象 = new 类的构造方法([参数列表]) 引用对象的成员变量和调用对象方法 对象.成员变量 对象.成员方法([参数列表]) Java语言自动释放对象。 【例3.1】声明日期类及使用日期对象。 4. 对象的引用模型 5. 对象的关系运算与比较相等 3.2 类的封装性 3.2.1 构造方法与析构方法 3.2.2 this引用和instanceof对象运算符 3.2.3 访问控制 3.2.4 静态成员 3.2.5 析构方法 3.2.6 浅拷贝与深拷贝 类的封装性 封装 封装就是把对象的属性(状态)和方法(行为)结合在一起,并尽可能隐蔽对象的内部细节,成为一个不可分割的独立单位(即对象),对外形成一个边界,只保留有限的对外接口使之与外部发生联系。 封装的原则 使对象以外的部分不能随意存取对象的内部数据,从而有效的避免了外部错误对它的“交叉感染”。数据隐藏特性提升了系统安全性,使软件错误能够局部化,减少查错和排错的难度。 类的封装性 3.2.1 构造方法 3.2.1 构造方法 1.声明及调用构造方法 public class MyDate { public MyDate(int y, int m, int d) //声明构造方法 { //构造方法与类同名,构造方法返回该类的一个实例 year = y; month = m; day = d; } } 使用new运算符调用指定类的构造方法 MyDate d = new MyDate(2009,7,18); 2.默认构造方法 public MyDate() 3.拷贝构造方法 3.拷贝构造方法 public MyDate(MyDate d) { year = d.year; month = d.month; day = d.day; } 调用语句如下: MyDate d1 = new MyDate(2009,7,16); MyDate d2 = new MyDate(d1); 第2句功能相当于以下两句: MyDate d2 = new MyDate(); d2.set(d1); 4. 构造方法重载 public MyDate(int y, int m, int d) public MyDate() public MyDate(MyDate d) 3.2.3 this引用和instanceof对象运算符 this引用 指代对象本
文档评论(0)