C# 继承 (virtual、override、new、sealed)
?
1、C#中的继承写法
?
子类应用父类的方法 属性 使用关键字 “base” 。
?
?
//父类方法class Father { public string SayHello() { return "Hello ~!"; } /* 父类中声明该方法是允许重写的方法(virtual) */ public virtual string SayNo() { return "Hello No ~! "; } }//子类方法class Son : Father { //new是指“隐藏”,是指子类隐藏了父类的方法,当然,通过一定的转换,可以在子类的对象中访问父类的方法。 //override是指“覆盖”,是指子类覆盖了父类的方法。子类的对象无法再访问父类中的该方法。 public new string SayHello() { return "!!!!!!!!!!"; } /* 子类中注明该方法是重写方法 (override);父类方法是abstract 修饰时,子类重写该方法也使用(override) */ public override string SayNo() { return "no ~~~~ !!!!"; } }
?
?
3、sealed?
?
C# 禁止子类方法重写父类方法的关键字,类似于java 中的 final;
?