阅读量:2
在 C# 中,虚拟类不能直接被继承
- 创建一个基类(BaseClass):
public class BaseClass
{
public virtual void Method1()
{
Console.WriteLine("Method in Base Class");
}
public void Method2()
{
Console.WriteLine("Method in Base Class");
}
}
在这个例子中,BaseClass 有一个虚拟方法 Method1() 和一个非虚拟方法 Method2()。
- 创建一个派生类(DerivedClass),并将基类的虚拟方法覆盖实现:
public class DerivedClass : BaseClass
{
public override void Method1()
{
Console.WriteLine("Overridden Method in Derived Class");
}
}
在这个例子中,DerivedClass 覆盖了基类的虚拟方法 Method1()。
- 测试代码:
class Program
{
static void Main(string[] args)
{
BaseClass baseObj = new BaseClass();
baseObj.Method1(); // 输出 "Method in Base Class"
baseObj.Method2(); // 输出 "Method in Base Class"
DerivedClass derivedObj = new DerivedClass();
derivedObj.Method1(); // 输出 "Overridden Method in Derived Class"
derivedObj.Method2(); // 输出 "Method in Base Class"
}
}
在这个测试代码中,我们创建了一个 BaseClass 对象和一个 DerivedClass 对象。当我们调用 Method1() 时,派生类覆盖了基类的实现。而当我们调用 Method2() 时,派生类没有覆盖基类的实现,因此它使用了基类的实现。
以上就是关于“C#虚拟类怎样实现继承”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm