第4章-抽象类和接口.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文档。上传文档
查看更多
第4章-抽象类和接口

88269900 WWW.ZT-IT.COM WWW.ZT-IT.COM 一级标题 二级标题 三级标题 Java面向对象基础 第4章 抽象类 接口 知识回顾 什么是继承? 如何实现继承? 继承中的类型关系 目标 理解抽象类和接口的概念 掌握抽象类和接口的使用 掌握抽象类与接口之间的区别 宠物类 属性:名字,年龄 方法:叫,吃 由一个类继承层次结构图想到的? 我要开发一个网上宠物商店。恩,我应该使用面向对象的思路来进行设计 狗类 汪汪叫 吃骨头 猫类 喵喵叫 吃鱼 猫和狗的方法比较好实现(具体) 但是宠物类的方法怎么实现? 如果仅仅留着空方法,也会让客户产生误会 继承层次结构图分析 - 1 从下往上看继承层次结构图,类逐渐变得更通用也更抽象 越 来 越 抽 象 越 来 越 具 体 继承层次结构图分析 - 2 在Animal类中无法为eat()方法创建有意义的实现过程 有时我们需要这样的基类,他提供一部分(或者压根没有提供)被子类共享的内容,而更多的内容是等待子类自己去补充实现的。这样的类,我们称之为抽象类 现实生活中的情况 全国人民代表大会通过决议,要全面建设小康社会 怎么整??留着给你具体实现 中国奥运代表团出征大会,国家体育局领导发言:希望各位赛出水平,赛出风格,争金夺银 怎么整??留给各位运动员自己领会 抽象类和抽象方法 - 1 定义抽象类的目的就是为了让别人继承,并按抽象类中定义的方案,来给出具体的设计 使用关键字abstract来声明抽象类 abstract class Animal { //抽象类 ...... } 抽象类和抽象方法 - 2 抽象类通常包含0个或多个抽象方法 抽象方法表明该抽象类的子类必须提供此方法的具体实现 使用关键字abstract来声明抽象方法 abstract class Animal{ //抽象类 ...... public abstract void eat(); //抽象方法 ...... } 抽象方法只有方法的声明,没有方法体 抽象方法用来描述系统具有什么功能 具有一个或多个抽象方法的类必须声明为抽象类 抽象类和抽象方法 - 3 抽象类也可以有具体的属性和方法 构造方法不能声明为抽象方法 abstract class Animal{ //抽象类 private String name; //属性 public Animal(String n){ //构造方法 name = n; } public abstract void eat(); //抽象方法 public String getName(){ //具体方法 return name; } } 抽象类和抽象方法 - 4 当一个具体类继承一个抽象类时,必须实现抽象类中声明的所有抽象方法,否则也必须声明为抽象类 class Dog extends Animal { public Dog(String n) :base(n){ //子类的构造方法 } public void eat(){ //实现基类的抽象方法 System.out.println(name + 啃骨头); } } class Cat extends Animal { public Cat(String n) {super(n) } public void eat() { System.out.println(name + 吃鱼); } } Cat cat = new Cat(咪咪); cat.eat(); Dog dog = new Dog(非非); dog.eat(); 抽象类和抽象方法 - 5 不能通过new关键字实例化抽象类的对象 Animal animal = new Animal(非非); //错误 但可以声明抽象类的引用指向子类的对象,以实现多态性 Animal animal = new Dog(非非); //正确 animal.eat(); 小结 抽象类 抽象类用于描述继承体系的上层结构 抽象类定义的目的就是为了让别人去继承 一个抽象类可以有具体属性 一个抽象类可以有 0 - * 抽象方法 一个抽象类可以有 0 - * 非抽象方法 继承一个抽象类,但是没有全部实现抽象类的全部抽象方法,那么也必须声明为抽象类 引入 接口 - 1 我们看一下电源插座 表面看上去,我无法知道这个塑料壳子后面具体的样子(具体实现) 但是我从它的样子上看出,可以把二眼插

文档评论(0)

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

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

1亿VIP精品文档

相关文档