网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java05 继承

继承 第章 本章任务 优化电子宠物系统 编写求圆、矩形、三角形的面积和周长的程序 掌握继承的优点和实现 掌握子类重写父类方法 掌握继承下构造方法的执行过程 掌握抽象类和抽象方法的使用 掌握final修饰属性、方法和类 本章目标 为什么使用继承 2-1 这两个类图有什么问题? - name:String - health:int - love:int - strain:String Dog + print():void + getName():String + getHealth ():int + getLove():int + getStrain:String + Dog() - name:String - health:int - love:int - sex:String Penguin + print():void + getName():String + getHealth ():int + getLove():int + getSex():String + Penguin() 使用继承优化设计 将重复代码抽取到父类中 为什么使用继承 2-2 使用继承优化后: 子类与父类是is-a关系 减少代码量 方便修改代码 如何使用继承 使用继承 编写父类 编写子类,继承父类 class Pet { //公共的属性和方法 } class Dog extends Pet { //子类特有的属性和方法 } class Penguin extends Pet { } 只能继承一个父类 继承关键字 理解继承4-1 子类访问父类成员 访问父类属性 访问父类方法 使用super关键字 super.name; super.print(); 演示示例:super用法 super代表父类对象 理解继承4-2 有些父类成员不能继承 private成员 子类与父类不在同包,使用默认访问权限的成员 构造方法 演示示例:不能继承的情况 理解继承4-3 访问修饰符protected 可以修饰属性和方法 本类、同包、子类可以访问 访问修饰符总结 访问修饰符 本类 同包 子类 其他 private √ 默认(friendly) √ √ protected √ √ √ public √ √ √ √ 理解继承4-4 继承后的初始化顺序 父类属性 子类属性 父类构造方法 子类构造方法 在何处使用继承 何时使用继承? 继承与真实世界类似 只要说“猫是哺乳动物”,猫的很多属性、行为 就不言自明了 藏獒是一种狗 继承是代码重用的一种方式 将子类都有的属性和行为放到父类中 符合is-a关系的设计使用继承 小结2-2 阅读代码,说出运行结果 class Car { private int site = 4; //座位数 Car(){ System.out.println (载客量是+site+人); } public void setSite(int site){ this.site = site; } void print(){ System.out.print(载客量是+site+人); } } class Bus extends Car { Bus(int site){ setSite(site); } } public static void main(String[] args) { Bus bus = new Bus(20); bus.print(); } 载客量是4人 载客量是20人 指导——优化电子宠物系统2-2 实现思路: 完成时间:20分钟 继承 抽象类 以下代码有什么问题? Java中也使用抽象类,限制实例化 Pet pet = new Pet (贝贝,20,40); pet.print(); 实例化Pet没有意义 public abstract class Pet { } 在C#中通过抽象类实现 抽象方法 以下代码有什么问题? abstract也可用于方法——抽象方法 抽象方法没有方法体 抽象方法必须在抽象类里 抽象方法必须在子类中被实现,除非子类是抽象类 public abstract void print(); 没有方法体 public abstract class Pet { public void print() { //… } } 每个子类的实现不同 指导——抽象Pet类2-

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档