gpt4 book ai didi

c# - 界面及其可访问性

转载 作者:行者123 更新时间:2023-11-30 14:40:51 25 4
gpt4 key购买 nike

我在面试中被问到一个关于接口(interface)的问题。我不确定这是否真的可能。请看下面的问题。

有3个接口(interface)ABCA 继承自接口(interface) BC:

public interface A : B,C
{

}

我们必须确保该接口(interface)的用户不能直接或独立地使用BC,而只能使用A .

我可以想到以下场景:

  1. 制作BC 内部接口(interface)。但我没有看到任何实际用途,因为我可以直接在 A 本身中定义所有成员。
  2. 使BC 成为私有(private)接口(interface)。但是我怎样才能做到呢?此外,我在下面的 MSDN 链接中看到 BC 必须至少与 A 一样可访问:http://msdn.microsoft.com/en-us/library/aa664578%28v=VS.71%29.aspx .

有什么办法可以做到这一点还是问题本身是错误的?

最佳答案

您所要求的将违反 Liskov Substitution Principle .

如果 A 以这种方式实现了 B,它应该始终可以直接用作 B。试图阻止这种情况将违反面向对象设计的主要原则之一。

我怀疑面试官是想看看你是否理解这个核心概念,并会从一开始就说“这是错误的,因为......”。

关于c# - 界面及其可访问性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4840914/

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