继承的概念

 继承机制是面向对象程序设计不可缺少的关键概念,是实现软件可重用的根基,

 是提高软件系统的可扩展性与可维护性的主要途径。

所谓继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现

父类代码的重用,子类 “能吸收已有类的数据属性和行为,并能扩展新的能力。”

 使用继承;

   编写父类: class  pet{ //公共的属性和方法 }

    编写子类,继承父类:

     class Dog extends pet(只能继承一个父类) {//子类特有的属性和方法}

     class Penguin extends(继承关键字) Pet {}

   子类访问父类成员

    访问父类构造方法  (使用super 关键字 super 代表父类对象)

     super();

     super(name);  ---> 在子类构造方法中调用且必须是第一句

   访问父类属性

     super.name;

    访问父类方法

      super.print();

    子类可以继承父类的所有资源吗?

     不能被继承的父类成员:

      1. private 成员

      2. 子类与父类不在同包,使用默认访问权限的成员、

      3. 构造方法 

         注:不能被继承的情况

  访问修饰符 protected

     可以修饰属性和方法

    本类,同包,子类可以访问

      访问修饰符总结:

    

 

    多重继承关系的初始化顺序是怎样的?

     父类属性 -->父类构造方法 --> 子类属性 --> 子类构造方法

             注:断点追踪初始化过程

    何时使用继承?

     继承与真实世界类似

      只要说 "猫是哺乳动物", 猫的很多属性,行为就不言自明了

  藏獒是一种狗

     符合 is -a 关系的设计使用继承

    继承是代码重用的一种方式

     将子类共有的属性和行为放到父类中

   方法重写:

   

    

      小结1

     构造方法也会被重写吗?  ---> 不能被继承,因此不能重写!

     方法重写的规则

      方法名相同

      参数列表相同

      返回值类型相同或者是其子类;

     访问权限不能严于父类

   方法重载与方法重写

    

  

          小结2

    super 关键字来访问父类的成员

     super 只能出现在子类的方法和构造方法中

     super 调用构造方法时,只能是第一句

     super 不能访问父类的 private 成员

      训练要点:

      继承,子类重写父类方法,理解继承中的初始化过程

 

posted on 2016-06-12 11:04  影子是时光的心  阅读(205)  评论(0编辑  收藏  举报