为什么抽象成员不能成为私人? [英] Why abstract members can not be a private ?

查看:89
本文介绍了为什么抽象成员不能成为私人?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么在下面的代码中它不接受私人抽象成员?

why in below code it is not accepting private abstract member ?

abstract class OuterClass
{
     private abstract void Method1();
     class InnerClass
     {
         static void Main(string[] args)
         {
           InnerClass ic = new InnerClass();
           ic.Method1();
         }
         private override void Method1()
         {
           Console.WriteLine("This is Method1, Implemented in InnerClass");
         }
     }
}

推荐答案

私有方法不是多态的(你不能继承它们)因此,制作私有方法摘要是没有意义的。使方法抽象意味着你必须在子类中覆盖和实现它,但由于你不能覆盖私有方法,你也不能使它们变得抽象。



你应该保护它而不是私人。



私人真的意味着私人你已经定义了这个方法;甚至子类也看不到私有方法。
Private methods are not polymorphic (you cannot inherit them), so it makes no sense to make a private method abstract. Making a method abstract means you'd have to override and implement it in a subclass, but since you can't override private methods, you can't make them abstract either.

You should make it protected instead of private.

Private really means private to the class you've defined the method in; even subclasses don't see private methods.


抽象方法不能是私有的,因为实现类必须定义它的主体。

以下进一步的帮助检查链接。



C#中的抽象类和方法 [ ^ ]



http://www.c-sharpcorner.com/UploadFile / 93126e /重要性和使用版本的C-Sharp / [ ^ ]

< a href =http://msdn.microsoft.com/en-us/library/aa664435(v=vs.71).aspx> http:// ms dn.microsoft.com/en-us/library/aa664435(v=vs.71).aspx [ ^ ]
Abstract methods can't be private because the implementation class have to define its body.
for further assistance check below links.

Abstract classes and methods in C#[^]

http://www.c-sharpcorner.com/UploadFile/93126e/importance-and-use-of-versioning-in-C-Sharp/[^]
http://msdn.microsoft.com/en-us/library/aa664435(v=vs.71).aspx[^]


参考:为什么而不是抽象的,私人 [< a href =http://social.msdn.microsoft.com/Forums/en-US/3e40a478-6f38-4045-8f68-e7d9dd44907e/why-not-abstract-private-?forum=csharplanguagetarget =_ blank title =新窗口> ^ ]


这篇关于为什么抽象成员不能成为私人?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆