我注意到我的代码中有一个模式。我通常选择protected
而不是private
作为类中“隐藏”方法和字段的默认访问标签。我之所以这样做,主要是因为它为类的用户隐藏了有关类功能的细节,同时仍然为将来的扩展留出了空间。这个编码“策略”有什么缺点吗?
谢谢
通努兹
发布于 2011-02-09 11:13:13
一般来说,永远不要做某事,因为有一天你可能不得不实现或做yadayada (这只会让生活变得复杂和痛苦。)。如果你有一个只应该在它的类中使用的方法,那么就让它成为私有的。如果你曾经不得不通过继承来扩展它,那就重新考虑一下哪些函数可能必须从下面访问。通常,我无论如何都会将方法抽象到我的超类中,所以我无论如何都要考虑在什么时候、什么地方需要什么。
忽略我所说的关于私有方法的一个很好的理由是,如果你想测试你的内部函数,比如在单元测试中。在C#中,您可以允许另一个项目从外部查看您的受保护方法,以便您可以针对它们编写测试。
发布于 2011-02-09 11:17:57
由于封装的原因,您应该选择私有。在这个问题上,我更喜欢保守的方法,我更喜欢私有访问修饰符,如果我确实需要一些扩展,那么我会选择保护访问修饰符。选择受保护的修饰符而不是私有修饰符不是一种好的做法。
发布于 2011-02-09 11:06:13
我不认为这有什么缺点。
私有变量是仅对belong.
所以你的代码应该没问题。这并没有什么“坏”。如果您可能扩展了您的类,那么protected属性肯定是正确的。
https://stackoverflow.com/questions/4943966
复制