类似问题
我的问题
很多人都认为只有在有理由使用保护方法时才应该使用它们。测试驱动开发模型如何考虑这个问题?(特别是涉及到伪造对象时。)我有一个朋友是TDD和BDD的忠实粉丝,是一名C#开发者,他告诉我他几乎从不使用private
关键字。在他说完后,我一直将其用于字段,但默认所有方法都使用protected
。StackOverflow上的一些人也同意默认情况下应该使用protected
,请问有些人能否权衡一下这个问题?使用protected
的最好理由是什么(因为上面的线程解释了不使用的原因)?
编辑:根据Oded的评论,使用protected
作为默认值和开放封闭原则有什么影响?(一个类应该对扩展开放,对修改关闭)