标签:class virt oid 同名 重写 namespace ogr color JD
a.重写父类的方法要用到override关键字(具有override关键字修饰的方法是对父类中同名方法的新实现)
b.要重写父类的方法,前提是父类中该要被重写的方法必须声明为virtual或者是abstract类型。给父类中
要被重写的方法添加virtual关键字表示可以在子类中重写它的实现。(注意:C#中的方法默认并不是
virtual类型的,因此要添加virtual关键字才能够被重写)
C.virtual关键字用于将方法定义为支持多态,有virtual关键字修饰的方法称为“虚拟方法”
[访问修饰符] virtual [返回类型] 方法名(参数列表)
{
//虚拟方法的实现,该方法可以被子类重写
}
namespace ConsoleApplication1 { class Employee { public Employee() { Console.WriteLine("父类的构造方法"); } public virtual void EmpInfo() { Console.WriteLine("父类的虚拟方法"); } } class DervEmployee : Employee { public DervEmployee() { Console.WriteLine("子类的构造方法"); } public override void EmpInfo() { base.EmpInfo();//base关键字将在下面拓展中提到 Console.WriteLine("子类的重写方法"); } } class Program { static void Main(string[] args) { DervEmployee objDervEmployee = new DervEmployee(); objDervEmployee.EmpInfo(); //注意:objDervEmployee派生类的实例是赋给Employee类的objEmployee的引用, // 所以objEmployee引用调用EmpInfo()方法时 还是调用DervEmployee类的方法 Employee objEmployee = new Employee(); objEmployee.EmpInfo(); } } }
标签:class virt oid 同名 重写 namespace ogr color JD
原文地址:https://www.cnblogs.com/jesssey/p/8866945.html