Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
抽象类中的私有非抽象成员和继承C#_C#_Inheritance_Access Modifiers_Abstract Methods - Fatal编程技术网

抽象类中的私有非抽象成员和继承C#

抽象类中的私有非抽象成员和继承C#,c#,inheritance,access-modifiers,abstract-methods,C#,Inheritance,Access Modifiers,Abstract Methods,在抽象类中使用私有的非抽象方法是一种好的做法吗 我想使用这个非抽象方法在基类中执行一些内部操作。私有方法在任何地方都可以,因为它们是私有的,这使得使用您设计的类的任何人都看不到它们。私人会员对你来说没有未来的义务:如果你不喜欢他们,你可以随时改变他们 抽象类允许您在继承自抽象类的类之间共享实现。您完全可以决定要共享什么实现,以及要使用什么语言特性来实现这些共享特性。这包括私有方法、私有变量、私有嵌套类等等。我认为这不仅是良好的实践,而且是必不可少的。如果该类只包含抽象方法,则可以使用接口。您可以

在抽象类中使用私有的非抽象方法是一种好的做法吗


我想使用这个非抽象方法在基类中执行一些内部操作。

私有方法在任何地方都可以,因为它们是私有的,这使得使用您设计的类的任何人都看不到它们。私人会员对你来说没有未来的义务:如果你不喜欢他们,你可以随时改变他们


抽象类允许您在继承自抽象类的类之间共享实现。您完全可以决定要共享什么实现,以及要使用什么语言特性来实现这些共享特性。这包括私有方法、私有变量、私有嵌套类等等。

我认为这不仅是良好的实践,而且是必不可少的。如果该类只包含抽象方法,则可以使用接口。您可以在模板模式()中看到并举例说明基类是抽象的,并且具有受保护的和公共的方法。