gpt4 book ai didi

C#多重继承

转载 作者:太空狗 更新时间:2023-10-29 20:02:12 25 4
gpt4 key购买 nike

我想用C#实现这个

(伪代码)

class A;

class B : A;

class C : A, B;

...

A ac = (A)c;

...

B bc = (B)c;

这可能吗?

最佳答案

在这种特殊情况下不需要多重继承:如果类 C 仅继承自 B,则类 C 的任何实例都可以是转换为 B A;因为 B 已经派生自 A,所以 C 不需要再次派生自 A:

class A      { ... }

class B : A { ... }

class C : B { ... }

...

C c = new C();
B bc = (B)c; // <-- will work just fine without multiple inheritance
A ac = (A)c; // <-- ditto

(正如其他人已经说过的,如果您需要类似于多重继承的东西,请使用接口(interface),因为一个类可以实现任意数量的接口(interface)。)

关于C#多重继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2256990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com