本帖最后由 范国伟 于 2013-8-6 23:22 编辑
重写是对基类中方法的修改,隐藏是不用基类方法 有重新定义了一个同名的方法,这个方法基类无法调用,是属于子类的方法。- class Program
- {
- static void Main(string[] args)
- {
- Person p1 = new Son(); //声明的是基类对象 指向派生类
- p1.Say();//调用的是子类方法
- Person p2 = new Daughter();
- p2.Say(); //调用的是基类方法
- Console.ReadKey();
- }
- }
- public class Person
- {
- public virtual void Say() //父类中的虚方法
- {
- Console.WriteLine("我是人");
- }
- }
- public class Son :Person
- {
- public override void Say() //子类重写父类的虚方法
- {
- Console.WriteLine("我是son");
- }
-
- }
- public class Daughter :Person
- {
- public new void Say() //子类隐藏父类方法
- {
- Console.WriteLine("我是女儿");
- }
- }
复制代码 |