gpt4 book ai didi

c# - 在 C# 中,如果 A 实现 IX 并且 B 继承自 A ,是否必然遵循 B 实现 IX?

转载 作者:太空宇宙 更新时间:2023-11-03 23:31:02 30 4
gpt4 key购买 nike

在 C# 中,如果 A 实现 IX 并且 B 继承自 A ,是否必然遵循 B 实现 IX?如果是,是因为 LSP 吗?之间有什么区别吗:

1.

Interface IX;
Class A : IX;
Class B : A;

2.

Interface IX;
Class A : IX;
Class B : A, IX;

?

是否有与 B 通过继承链实现 IX 或 B 直接实现 IX 相关的术语?

PS:我假设在这两种情况下接口(interface)都是隐式实现的,而不是显式实现的。任何模式在 1 上使用但如果按 2 中的方式实现将不起作用?

最佳答案

来自 MSDN :

A class inherits all interface implementations provided by its base classes. Without explicitly re-implementing an interface, a derived class cannot in any way alter the interface mappings it inherits from its base classes.

但是接着说,如果基类将接口(interface)方法实现为virtual,则可以被派生类覆盖。因此可以在派生类中显式覆盖隐式实现。

关于c# - 在 C# 中,如果 A 实现 IX 并且 B 继承自 A ,是否必然遵循 B 实现 IX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32195714/

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