base 关键字,sleaded 密封关键字 ,多态

    xiaoxiao2021-04-15  353

    可以在子类中调用父类的方法

    base .方法名()

    其实每个类在执行构造函数时 都是先执行父类的构造函数,只不过语法糖 节省了 代码 

    public class Parent{ } public class Child: Parent { public Child() :base() { } }

    如果将 Parent 的构造函数 改为需要一个 参数 就会报错

    这个之后需要给一个参数:如下代码:

    public abstract class Parent { public Parent(int num) { var temp = num; Console.WriteLine(temp); } } public class Child: Parent { public Child() :base(5) { } }

    父类中的 方法 虚方法 和 抽象方法 可以在 子类或者 子类的子类中无限复写

    如果不想被子类复写给 方法添加  密封关键字 sealed 

    如果不想类被继承 也可以添加 sealed 

     

     

    1、类的多态:

    多态---> 即一个类可以当多个类 使用, 例如 object 可以 当所有的类使用

    即  

    Parent parent = new Child();

    2、方法的多态

    编译时多态

    即方法的重载 --在编译时参数的不同确定了调用哪个方法

    public void CommonSay() { Console.WriteLine("子级的普通方法"); } public void CommonSay(int num) { Console.WriteLine($"子级的普通方法{num}"); }

    运行时多态

    虚方法 ,和复写的 抽象方法 就是  运行时多态

    在运行的时候在知道调用的是哪个方法

     


    最新回复(0)