可以在子类中调用父类的方法
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}"); }运行时多态
虚方法 ,和复写的 抽象方法 就是 运行时多态
在运行的时候在知道调用的是哪个方法