Java程序设——05面向对象核心机制.pptVIP

  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程序设——05面向对象核心机制

* * * * * * 赵志崑 赵志崑 赵志崑 赵志崑 计算机科学与技术学院 赵志崑 zhaozk@sdfi.edu.cn 面向对象技术的核心机制 面向对象技术的三个核心机制: 封装:将数据和操作组合到一起,并决定哪些数据和操作对外是可见的。 继承:父类中的变量和行为,子类可以同样使用。本质是代码重用。 多态:由继承引出的一种机制,父类型的引用变量可以指向子类型的对象。 封装 封装把对象的所有组成部分组合在一起,有三个作用 隐藏类的实现细节:使用方法将类的数据隐藏起来。 迫使用户去使用一个界面去访问数据:定义程序如何引用对象的数据,控制用户对类的修改和访问数据的程度。 使代码更好维护:类的内部实现改变,接口可以不变。 私有数据 方法 方法 数据 对象A 对象B 公有数据 可见性 在变量和方法声明时,加可见性修饰: public:任何其它类、对象只要可以看到这个类,就可以存取变量,或使用方法。 private:不允许任何其他类存取和调用。 protected:子类可以使用,同一包中的其他类也可以使用。 friendly(前边没有修饰字的情况):在同一程序包中的类可以直接使用它的数据和方法。 修饰符 同类 同包 子类 不同包 非子类 public 可见 可见 可见 可见 protected 可见 可见 可见 friendly 可见 可见 private 可见 可见性举例 class Student{ private long id; // 变量一般都声明为私有 private char gender; // 以防止其他对象任意更改 private int classID; public long getID() {return id;} // 方法一般是对外提供服务的 public boolean setID(long aID) { // 所以声明为公共的 if(aID=0){id = aID;return true;} else {return false;} } public static void main(String[] args) { … } } 继承 继承提供了创建新类的一种方法,本质特征是行为共享。继承对开发者来说就是代码共享与重用。 通过继承创建的子类是作为另一个类的扩充或修正所定义的一个类。 子类从超类(父类)中继承所有方法和变量。 子类和超类之间是特化与范化的关系。 自行车 (超类) 山地车 赛车 双座自行车 子类 子类的声明 关键字extends:声明一个类是派生自某个已知类。 子类继承父类除private成员外的所有成员,就像这些变量和方法是自己定义的一样,相当于公开继承。 Java中,如果类声明时没有声明父类,那么缺省为Object类的子类。Java中的所有类都是Object类的子类。 Object类定义了类的一些基本行为,如clone, toString,equals等。 class Car { int colorNumber; int doorNumber; int speed; pushBreak() { … } addOil() { … } } class TrashCar extends Car { double amount; fillTrash() { … } } TrashCar myCar = new TrashCar(); myCar.addoil(); Java中继承的特点 子类不从父类继承构造函数。 单继承性:Java编程语言允许一个类仅能直接扩展自一个其它类,即extends关键字后面只能跟一个类名。单继承性使代码更可靠。 单根继承:Java中,如果类声明时没有声明父类,那么缺省为Object类的子类。Java中的所有类都是Object类的子类。 类库文档:对一个继承的方法或变量的描述只存在于对该成员进行定义的类的API文档中。 覆盖 当用于子类的行为与父类的行为不同时,覆盖机制允许子类可以修改从父类继承来的行为。 覆盖就是在子类中创建一个与父类方法有不同功能的方法,但具有相同的名称、返回类型和参数表。 若参数表不同,则不是覆盖,而是重载。 若参数表相同,但返回值不同,则编译出错。 覆盖时,子类的方法只能具有与父类相同或更大可见性 覆盖时,子类的方法不能抛出比父类更多的异常 class Car { int colorNumber; int doorNumber; int speed; void pushBreak() { speed=0; } voi

文档评论(0)

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

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

1亿VIP精品文档

相关文档