类的继承

      继承是面向对象思维中一个重要的体现。

      根据个人理解,合理提取业务中会出现的对象将它们抽象为不同的类。然后将会用到的属性和行为定义在它们中。按照需求来调用这些类的属性与方法。这样的好处在于,在调用这些类来完成某些任务时,过程中代码会更简洁,思路会更加清晰,拓展更方便。同时在对程序进行修改的时候会更加简单,比如在游戏中要修改怪物的攻击力时,我们可以直接修改怪物的一个属性。

      但是有些类的属性和行为部分是重复的,比如男人类和女人类,老人类和小孩类,如果这些类都会被用到,那么代码量会大大的加大。还有一种情况,假如动物园里只有一种动物,如果只为这一种动物定义一个类,那么它只能为这个动物的种群所服务,如果动物园扩建,迁入更多的动物,如果不想定义新的类,就需要我们对原有的类进行修改,比如进食的行为,这种动物是怎样进食的,另一种又是怎样进食的。这种思维更像是面向结构式编程,拓展起来十分麻烦。

      继承的关键字是extends,继承一个类的格式是,public class 子类 extends 父类:  通过is a关系来判断两者的关系是否正确。如,老虎是动物,老虎为子类,动物为父类。父类抽取了所有子类的相同属性与行为,使其它类更加单一,修改与拓展更加容易。

     即使大家共同的行为的方式不一样,也可以通过重写来实现。

     重写是父类行为不能满足子类需求时对父类行为中的方法进行修改,格式是在子类中添加和父类行为相同的方法名,形参,返回值,访问修饰符要大于父类。子类中的异常必须少于父类。

 

posted @ 2016-02-24 21:43  闪电蜗牛  阅读(62)  评论(0)    收藏  举报