C#虚拟类怎样实现继承

   2024-09-30 9620
核心提示:在 C# 中,虚拟类不能直接被继承创建一个基类(BaseClass):public class BaseClass{public virtual void Method1(){Console.Wr

在 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() 时,派生类没有覆盖基类的实现,因此它使用了基类的实现。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号