当前位置: 首页 > 编程语言 > C#

接口共享的私有成员

时间:2023-04-10 16:49:36 C#

接口的私有成员如果我的程序中有一个接口,它的所有成员都是隐式公开的。在实现该接口的类中,我必须公开该成员(属性)。是否可以将其设为私有?是否可以将接口实现设为私有?不完全私有——一个接口代表一组公共方法和属性。无法将接口实现设为私有。你可以做的是显式实现:publicinterfaceIFoo{voidBar();}publicclassFooImpl{voidIFoo.Bar(){Console.WriteLine("我有点隐私。")}privatevoidBar(){Console.WriteLine("Iamprivate.")}}现在调用IFoo.Bar()的唯一方法是显式地通过接口:FooImplf=newFooImpl();f.Bar();//编译器错误((IFoo)f).Bar();简短的回答:没有。接口的基本思想是它的类和组件之间的契约,这意味着它的成员是供公共使用的。如果您需要私人成员,这可能意味着您可能需要重新审视您的设计。界面意味着公开曝光。您可以做的是切换到具有受保护抽象成员的抽象基类。在许多方面,这将通过强制实施者获取方法而不公开它们来达到相同的目的。公共抽象类MyBase{protectedabstractvoidDoSomething();}从中得出的主要结论是,您不会像使用接口那样获得抽象类的多重继承,因此请权衡这种需求对您的重要性。以上就是《C#学习教程:接口》私服会员分享的全部内容。如果对你有用,需要进一步了解《C#学习教程》,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: