内部公开的抽象方法和c#中的虚拟方法吗?
默认情况下,所有方法都是私有的,如果抽象方法是私有的,它将不可用于派生类,产生错误“虚拟或抽象成员不能是私有的”
解决方法
我认为你提出的问题与大多数人的想法不同(换句话说,你似乎理解抽象意味着什么).
您不能声明私有抽象方法 – 编译器发出错误.这两个类都不会编译:
class Foo { private abstract void Bar(); } class Baz { // This one is implicitly private - just like any other // method declared without an access modifier abstract void Bah(); }
编译器阻止您声明无用的方法,因为私有抽象成员不能在派生类中使用,并且对声明类没有实现(因此没有用).
重要的是要注意编译器应用于抽象成员的默认访问修饰符(如果您自己未指定)仍然是私有的,就像该方法不是抽象的那样.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。