- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java面向对象程序设计 第4章 面向对象程序设计 第4章 面向对象程序设计 4.1 封装与访问控制权限 封装可被理解为一种用做保护的包装器,以防止代码和数据被包装器外部所定义的其他代码任意访问。对包装器内部代码与数据的访问通过一个明确定义的接口来控制。 封装代码的好处是每个人都知道怎样访问代码,而无需考虑实现细节就能直接使用它,同时不用担心不可预料的副作用。 在Java中,最基本的封装单元是类。在定义一个类时,需要指定构成该类的代码(成员方法)和数据(成员变量)。Java使用访问权限控制,用来控制对成员变量和成员方法的访问,实现对类和对象的封装。 4.1.2 static修饰符 静态变量与静态方法类似。所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操纵此块存储空间。 4.1.3 final修饰符 4.2 继承及代码复用 继承是Java语言的一种重要机制,该机制自动地为一个类提供来自另一个类的属性和方法,这使得程序员只需在新类中定义已有类没有的成分(包括属性和方法)来建立新类。 理解继承是理解面向对象程序设计所有方面的关键。通过学习继承,能利用继承现有类建立新类,能理解继承如何提高代码复用,理解多态对于继承的意义,掌握多态的工作原理,理解抽象类和具体类的区别。 4.2.1 继承的概念 下图展示了交通工具的类层次。最顶部的类称为基类,是车类。车又分为机动车、非机动车。机动车分为汽车、火车。非机动车分为自行车、人力三轮车。每个类有且仅有一个父类。例如,汽车是一种机动车,机动车是一种车。这样,每个子类代表父类的特定版本。 4.2.2 抽象类 有时,定义的类代表一个抽象的概念,就不能用它来实例化一个对象。例如,现实世界中食品这个概念,不可能有一个食品对象,可以见到的是一些诸如饼干、苹果、巧克力等具体对象。食品代表着一个抽象的概念:能吃的东西。 同样在面向对象程序设计中,可能需要建立一个不需要实例化的类,就抽象类。在Java语言中,使用abstract修饰的类被称作抽象类, 抽象类不能被实例化,它只能被继承,反映现实世界中一个抽象的概念。 4.2.3 类的多态 多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法。多态提供了“接口与实现的分离”,将“是什么”(what)与“怎么做”分离,改善程序的组织架构及可读性,提高程序的可扩展性。 在Java程序设计语言中,多态有两种表现形式:重写(Override),有时也称作覆盖,指的是通过继承,子类覆盖父类中的方法;重载(Overload),指的是在同一个类中,可以定义多个同名的方法,只要确定它们的参数个数和类型不同即可。 4.3 接口 本章小结 本章结合具体实例深入介绍面向对象的三个基本特征:封装、继承与多态。主要任务是掌握封装与访问控制权限;类的继承及其继承的传递性,能够按照要求通过继承现有类,创建新类,理解继承对代码复用的重要意义;掌握多态的两种表现形式重写和重载;了解接口的定义及其实现方法。 /** * @param args */ public static void main(String[] args) { // TODO 自动生成方法存根 OverloadTest ot = new OverloadTest(); ot.fun(); ot.fun(1.0); ot.fun(1); } } 【例4-10】 多态在几何图形绘制中的实现 图形 颜色 绘图() 矩形 坐标 绘图() 圆 圆心 半径 绘图() abstract class Geometry{ protected Color color = Color.BLACK;//颜色属性 abstract void draw();//绘制方法 } /** * 矩形类 * @author creationbj * */ class Rectangle extends Geometry{ private Point lefttop; private Point rightbuttom; public void draw(){ System.out.println(Draw a Rectangle); } } /** * 圆类 * @author creationbj * */ class Circle extends Geometry{ private Point origin; private double radius; public void draw(){ System.out.println(Draw a Circle)
您可能关注的文档
- 222对数函数及其性质(三).doc
- 2012年拓奇公司维护适用的安健环法律法规标准及其他要求清单份.doc
- 241求函数零点近似解的一种计算方法二分法课件.ppt
- 311二维TM模Yee算法的数值稳定性.ppt
- 2012年中考化学试题分类汇编-3物质构成的奥秘.doc
- 2012年中考化学试题分类单元汇编第四单元物质构成的奥秘.doc
- CH1為什麼要學習研究方法.ppt
- Ch12创造有效学习的环境.ppt
- 2012全国非常规天然气勘探开发与产业发展论坛暨新技术应用研讨会.doc
- Control(统计过程控制)含义--利用统计技术对过程中的.ppt
- 《GB/T 32879-2025电动汽车更换用电池箱连接器》.pdf
- 中国国家标准 GB/T 21649.2-2025粒度分析 图像分析法 第2部分: 动态图像分析法.pdf
- 中国国家标准 GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定.pdf
- 《GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定》.pdf
- GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定.pdf
- 《GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法》.pdf
- GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法.pdf
- 中国国家标准 GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法.pdf
- GB/T 45910-2025信息技术 生物特征识别模板保护方案的性能测试.pdf
- 《GB/T 45910-2025信息技术 生物特征识别模板保护方案的性能测试》.pdf
文档评论(0)