首页 > 代码库 > 7.继承相关(extends、super、override)

7.继承相关(extends、super、override)

1.继承概念
    一个类得到了另外一个类的成员变量和成员方法。
    只支持单继承,不允许多继承。
    是面向对象最重要的特征之一,可以减少类定义的重复代码,重复放在父类。
2.作用
    减少类定义等重复代码
3.语法特点
    子类继承父类可以得到父类的成员变量和成员函数,同时子类还可以在此基础上扩展。
    class teacher extends person{}
    teacher是子类,person是父类。
---------------------------------------------------------------------------------------------
4.生成子类对象过程
   该过程即调用子类的构造函数来生成子类的对象。
   子类的构造函数里面必须调用父类的构造函数。若没有调用父类构造函数,编译器会自动调用super()
   若想调用父类中有参数的构造函数,需在super添加参数。
5.使用super调用父类构造函数方法
   由于子类可以继承父类的成员变量却无法继承父类的构造函数从而解决子类成员变量赋初始值的问题。 
    super()必须是构造函数第一条语句,和this一样,但是是解决父类中的重复代码。
   
    和this区别:this是调用本类,super是调用父类。具体调用根据括号。

   note:super关键字是用来引用父类对象,从子类调用父类的方法。
            super.RunReport();
------------------------------------------------------------------------------------------------
6.函数复写(override)
   对继承的父类的函数功能不满意,复写修改代码,private不可以复写。也被成为覆盖或者重写,具有以下特征
    1.在具有父子关系的两个类中;
    2.父类和子类当中各有一个函数,这两个函数的定义(返回值类型、函数名、参数列表完全相同)
   和重载有区别(重载在一个类里面)。复写用在继承关系中。
7.使用super调用父类的成员函数
    复写父类函数里面发现重复代码,我们可以用 super.父类成员函数,再添加自己需要的代码。






来自为知笔记(Wiz)


7.继承相关(extends、super、override)