日期:2014-05-17 浏览次数:20915 次
?
1、C#中的继承写法
?
子类应用父类的方法 属性 使用关键字 “base” 。
?
?
/* C#中的继承父类的关键字是 “:” */ class Son : Father { }
?
?
2、virtual、override、new
?
?C#中不支持隐式重写子类中的方法
?
virtual ? ? 父类中需要注明允许重写的方;
override ?子类中必须显示声明该方法是重写的父类中的方法;
new ? ? ? ?子类中忽略父类的已存在的方法,“重写该方法;”
?
?
//父类方法 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;
?