【发布时间】:2026-01-13 02:05:02
【问题描述】:
using System;
public class A
{
public virtual string GetDataFromA()
{
return "This Is base Class A" ;
}
}
public class B
{
public virtual string GetDataFromB()
{
return "This Is base Class B" ;
}
}
public class C : B,A
{
public overide string GetDataFromB()
{
var data = base.GetDataFromB();
return data + "This Is child Class C";
}
public overide string GetDataFromA()
{
var data = base.GetDataFromB();
return data + "This Is child Class C";
}
}
public class Program
{
public static void Main()
{
var myCobject = new c();
c.GetDataFromB();
c.GetDataFromA();
}
}
这是一个简单的问题,我知道我们不能在 C# 中使用多重继承,这就是我们使用接口的原因。但我的问题是当我使用多重继承时如何调用基类方法 如果我遗漏了一些东西,请告诉我。我想在我的 C 类中调用 A 和 B 基类方法。同时我想在子类方法 A 和 B 中调用基类方法强>
【问题讨论】:
-
C# 在设计上不支持多重继承。您将获得的最接近的是具有默认方法实现的接口。
-
是的,我明白了,这就是为什么我把我们使用接口的消息。但主要问题是我在两个尊重类中使用了虚拟方法并覆盖了这两个方法并调用了基本方法我们如何实现这类问题
-
“我知道我们不能在 C# 中使用多重继承......我的问题是当我使用多重继承时我是如何____”嗯......你不知道吗?我真的不明白怎么会有人问这样的问题。
标签: c# oop inheritance interface multiple-inheritance