对类的继承的理解

来源:互联网 发布:阿里云企业邮箱客户端 编辑:程序博客网 时间:2024/05/18 02:33
        要认识和学习类的继承,我们首先要了解类的类型有哪些。类主要分为三类:普通类、接口类、抽象类。其中,普通类是只能含有普通方法和构造方法的类;抽象类是可以有普通方法、构造方法和抽象方法的类;而接口中的方法只能是抽象的。由于有抽象方法的存在,所以抽象类和接口类是不能创建实例的。
        面向对象相对于面向过程的一个优势就是代码更加简洁,程序员把具有相同特征的事物归结为一个类,当另一个类具有相同特征和行为,我们无需再重新定义,只需将这个类继承前一个类就可以了,这样就可以很好地避免了代码的冗余。如:我们可以将有两只眼睛、一个嘴巴、有学习能力等特征或行为的定义为动物类;当我们定义狗、猫、猴子时,他们也都具有动物的基本特征,这样我就不需要再重复定义这些特征和行为了。
        由于类的类型不同,类与类之间的继承也是有区别的。因为抽象类和接口类中有抽象抽象方法,所以在普通类在继承抽象类和接口类时,必须子类重写父类中的抽象方法;在抽象类继承接口类,如果抽象方法没有改变可以不用重写,但如果将抽象方法转型为普通方法就需要就方法重写。
         在重写方法是需要注意的是:子类的方法名、参数、返回值必须和父类继承过来的方法一致,而方法体与父类的方法体不同。
         完成类的继承后,在给类创建对象时,有可能出现对象的自动转型。如类Son继承了类Parents,若  Parents peo = new Son();   这样创建对象时,虽然调用的方法是类Son中的,但是这个对象的类型已经转型为类Parents的了。由于对象的类型发生了转化,所以可能导致同属于父类的两个对象调用同一个方法,但方法体不一样,执行过程和结果就不一样,这就称为多态。
0 0
原创粉丝点击