c#抽象方法:内部公共和虚拟?

前端之家收集整理的这篇文章主要介绍了c#抽象方法:内部公共和虚拟?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
内部公开的抽象方法和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();
}

编译器阻止您声明无用的方法,因为私有抽象成员不能在派生类中使用,并且对声明类没有实现(因此没有用).

重要的是要注意编译器应用于抽象成员的默认访问修饰符(如果您自己未指定)仍然是私有的,就像该方法不是抽象的那样.

猜你在找的C#相关文章