6 类继承 .pptVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6 类继承

第六章 类的继承 知识回顾 关键字new的用法 public,protected,private所修饰的范围 Static关键字的用法 内容摘要 继承 super关键字 继承的多态性 方法的覆盖 类之间的关系 依赖关系:use-a A类中的一个方法操作了另一个类中的对象。 聚合关系:has-a A类中的对象包含B类的对象。 继承关系:is-a A继承了B类,此时A类不仅有了B类的方法,还加入了自己的方法。 继 承 继承是面向对象编程技术的一块基石,它允许创建分等级层次的类。 运用继承,可以创建一个通用类定义一系列一般特性。通用类可以被更具体的类继承。 父(超)类 superclass 子类 subclass 继承 Object类是Java中所有类的父类,也就是说Java中的类都直接或间接由Object类派生而来。 继承的作用 一个对象可以很容易地被(继承了相同类的)的另一个对象所替换。 对象间的连接不必硬绑定到一个具体类的对象上,因此增加了灵活性。 松散藕合。 增加了代码重用的可能性。 提高了(对象)组合的机率,因为被包含对象可以是任何实现了一个指定接口的类。 继承规则 子类继承那些被声明为public 或protected的父类成员 只有子类与父类在同一个包中时,子类才能继承那些无访问修饰符修饰的父类成员 如果子类声明了一个与父类中的成员同名的成员,则子类不能继承父类中的该同名成员 子类不能继承被修饰为private的父类成员 继承的语法 extends关键字用于继承类。 声明一个继承父类的类的通常形式如下: class 子类名 extends 父类名 { //类体 } 没有extends,默认父类为Object 只能有一个父类,即单继承 super关键字 super关键字用来解决如何直接访问或初始化从父类继承来的属性。 super有两种通用形式:调用父类的构造函数、用来访问被子类的成员覆盖的父类成员。 super()必须是在子类构造函数中的第一个执行语句。 继承的示例-1 Person name:String sex:char Student numS:long time:Date Teacher lesson:String salary:float 学生类,继承了父类的姓名和性别属性外还包含学号和入学时间。 人类,具有姓名和性别两个属性。 学生类,继承了父类的姓名和性别属性外还包含所教课程和工资。 继承的示例-2 class Person { String name; //姓名 char sex; //性别 Person(String n, char s){ name = n; sex = s; } public String getName() { return name; } public char getSex(){ return sex;} } class Student extends Person{ long numS; //学号 Date time; //入学日期 Student(String n, char s, long num, Date d){ super(n,s); numS = num; time = d; } public long getNumber() { return numS; } public Date getTime(){ return time;}} class Teacher extends Person{ String lesson; //所任课程 folat salary; //薪水 Teacher(String n, char s, String le, float sal){ super(n,s); lesson = le; salary = sal; } public long getLesson() { return lesson; } public Date getSalary(){ return salary;}} 继承的多态性 继承的多态性的定义: 通过覆盖父类的方法来实现,在运行时根据父类类型的引用指向的具体对象,来调用相应的方法。 多态性的好处: 它可以根据在运行的时候,根据引用指向不同对象,来调用不同对象的方法。 方法覆盖(override) 方法覆盖是Java实现多态性机制的一种方式。 在类层次结构中,如果子类中的一个方法与父类中的方法有相同的方法名并具有相同数量和类型的参数列表,这种情况称为方法覆盖。 当一个覆盖方法通过父类引用被调用,Java

文档评论(0)

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

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

1亿VIP精品文档

相关文档