在面向对象编程中,new
关键字用于创建一个类的实例。当使用 new
关键字创建对象时,会调用基类的构造函数来初始化对象。然而,new
关键字并不会自动调用派生类(子类)的方法。
virtual
(虚方法),这样在运行时通过动态绑定来调用正确的方法版本。using System;
public class BaseClass
{
public BaseClass()
{
// 避免在基类构造函数中调用虚方法
Console.WriteLine("BaseClass constructor");
}
public virtual void Display()
{
Console.WriteLine("BaseClass Display");
}
}
public class DerivedClass : BaseClass
{
public DerivedClass()
{
Console.WriteLine("DerivedClass constructor");
}
public override void Display()
{
Console.WriteLine("DerivedClass Display");
}
}
public class Program
{
public static void Main()
{
DerivedClass derived = new DerivedClass();
derived.Display(); // 输出 "DerivedClass Display"
}
}
通过上述方法,可以确保在创建派生类对象时,正确调用派生类的方法。
领取专属 10元无门槛券
手把手带您无忧上云