我注意到我的代码中有一个模式。我通常选择 protected
,而不是 private
,作为我类中“隐藏”方法和字段的默认访问标签。我这样做主要是因为它为类的用户隐藏了类功能的细节,同时仍然为将来的扩展留有空间。这种编码“政策”有什么缺点吗?
谢谢
通努兹
最佳答案
一般来说,永远不要做某事,因为有一天你可能不得不实现或做 yadayada(这只会让生活变得复杂和痛苦恕我直言......)。如果你有一个只应该在它的类中使用的方法,那么就把它设为私有(private)。如果您必须通过继承来扩展它,而不是重新考虑可能必须从下面访问哪些功能。通常我无论如何都会将方法抽象到我的父类(super class)中,所以无论如何我都必须考虑何时何地需要什么..
忽略我所说的关于私有(private)方法的一个很好的理由是,如果你想测试你的内部函数,即在单元测试中。在 C# 中,您可以允许另一个项目从外部查看您的 protected 方法,以便您可以针对它们编写测试。
关于private - 我使用的是 "protected"而不是 "private",因为有一天我可能需要扩展我的类(class),这不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4943966/