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

Posted

技术标签:

【中文标题】抽象类中的私有非抽象成员和继承 C#【英文标题】:private non-abstract members in an abstract class and inheritance C# 【发布时间】:2016-05-08 04:11:41 【问题描述】:

在抽象类中使用私有非抽象方法是一种好习惯吗?

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

【问题讨论】:

我想说这不仅是好的做法,而且是必不可少的。如果该类仅包含抽象方法,则可以使用接口。 您可以在模板模式中看到示例 (en.wikipedia.org/wiki/Template_method_pattern) 基类是抽象的,具有受保护的和公共的方法。 【参考方案1】:

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

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

【讨论】:

以上是关于抽象类中的私有非抽象成员和继承 C#的主要内容,如果未能解决你的问题,请参考以下文章

C#中virtual和abstract的区别

接口和抽象类的区别

php抽象类和接口的区别

C# 中基类,虚类,抽象类,密封类,接口的区别

继承抽象static

Java 抽象类和接口有什么差别