C#虚拟类怎样实现继承

avatar
作者
筋斗云
阅读量:0

在 C# 中,虚拟类不能直接被继承

  1. 创建一个基类(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()

  1. 创建一个派生类(DerivedClass),并将基类的虚拟方法覆盖实现:
public class DerivedClass : BaseClass {     public override void Method1()     {         Console.WriteLine("Overridden Method in Derived Class");     } } 

在这个例子中,DerivedClass 覆盖了基类的虚拟方法 Method1()

  1. 测试代码:
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() 时,派生类没有覆盖基类的实现,因此它使用了基类的实现。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!