面向对象复习笔记.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. . 基于Java的面向对象程序设计 陈维亚 weiya_chen@ 华中科技大学软件学院 第34讲:课程总结目录 1. 课程内容总结 1) 面向对象概念 2) 面向对象编程(Java) 3) 面向对象设计 2. 考试形式与安排 3. 复习建议 21. 课程内容总结 +++ 很重要 ++ 重要 + 一般 ? 面向对象概念(+++) 如何保证软件系统可扩展,可重用,可维护? 结构稳定,内聚性好,松耦合 ? 类与对象 ? 面向过程和面向对象 ? 类和对象的概念、关系、组成 类是对象的抽象,对象是类的实例,方法操作对象内部属性(状态)的改变, 对象的相互调用也是通过方法来完成。 ? 构造函数,对象的初始化、使用 创建对象需要以下三步: 声明:声明一个对象,包括对象名称和对象类型。 实例化:使用关键字new来创建一个对象。 初始化:使用new创建对象时,会调用构造方法初始化对象。 ? 封装、继承、多态 ? 封装的好处、实现方式 好处: 从设计上讲,为了实现模块化 1. 以类为最小单元,减少修改带来的连锁效应; 2. 可以对成员变量进行更精确的控制(getter, setter); 从使用上讲,减少了复杂度 1. 代码使用者无需考虑实现细节就能直接使用一个类; 2. 更有效的协作; 良好的封装能够减少代码的耦合,抵御变化 实现: 依靠4种关键字,可修饰类、属性及方法 private: 只能被该类的对象访问。 default: 即不加任何访问修饰符,只允许在同一个包中进行访问。 protected: 只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。 public: 不仅可以跨类访问,而且允许跨包(package)访问。 理想的封装状态是: 只有一些精心设计的、注释清晰的接口方法为public; 成员变量和其他的方法都是private,它们组成了一个类的内部实现,与类的外部无关 ? 继承的概念、好处、实现,super,重写,向上转型 概念:继承是一种类和类之间的关系,是一种“is a kind of”的关系。 好处: ? 在设计时,它允许创建分等级层次的类,思路更清晰,减少了冗余代码,易于修改; ? 定义新类时,可以以原来的类为基础,借助代码的重用,使系统变得容易扩展,提 高了开发效率。 ? 继承帮助我们统一了函数的调用接口,在增加新类后减少对已有系统的修改。 注:final 关键字声明类可以把类定义为不能继承的,即最终类; 向上转型: 对象a是子类对象b的上转型对象,上转型对象可以操作被子类继承和重写的方法, 但不能操作子类新增的成员变量和方法。或者用于修饰方法,该方法不能被子类重写。 尽量使用组合,慎用继承 ? 多态的定义、分类、实现方法(继承、接口),如何使用 定义:多态就是指一种名称定义不同的方法。 1. 译时多态 - 方法的重载(overload) 2. 运行时多态(runtime polymorphism) 程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程 时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实 例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运 行期间才能决定。 ? 抽象类和抽象方法 ? 定义,格式,使用情景 概念:在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所 有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的 对象,这样的类就是抽象类。 格式:抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号。 1) 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。 2) 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类是抽象类。 ? 静态方法和静态变量 使用场合: 1. 某个变量被该类所有变量需要,如定义常量、计数的变量、数组等; 2. 只需访问静态变量的方法可定义为静态方法; 3. 特殊类型的类,没有对应实例,其所需参数都是通过显式参数提供,比如Math类; 静态变量在程序初始化时被创建,可被该类所有的实例使用和修改; 4.静态类只能初始化一个实例。 ? 接口(Java) ? 定义,调用,特性,功能,与类的比较,与抽象类的比较 定义:软件项目通常由团队完成,各成员独立完成不同子模块后再进行组合 为使组合顺利进行,开发成员之间需达成某种“协议”,我们称之为接口。 特性: ? 接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字 ? 接口中可以含有变量,变量会被隐式的指定为 public static final(用 private 修饰 会报编译错误) ? 接口中的方法会被隐式的指定为 public abstract 功能: 接口提

文档评论(0)

hkfgmny + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档