什么时候应该在基类和受保护的方法中使用静态方法? (可以使用base.MethodName从派生类调用)
答案 0 :(得分:2)
仅当您的方法不依赖于对象的状态时才应使用静态 当您只希望后代从base调用方法时受到保护。
Base.Method一般用于覆盖方法
答案 1 :(得分:1)
受保护和静态不是独占的。
protected意味着您允许派生类访问基本方法。
static表示方法不需要访问实例的状态。通常称为类方法而不是实例方法。
base关键字仅在从基类重写成员时才有用(基本成员通常标记为虚拟)。这允许您引用基础成员,以防您在派生类中重载它。
答案 2 :(得分:1)
静态方法的一个好处是只有一个代码副本保留在内存中。如果您拥有包含许多方法的大型对象集合,这将特别有用。换句话说,它可以减少你的内存占用。在使用多线程体系结构中的共享数据时,您可能还会发现控制受保护的代码块更容易或更直观。但是,你可能会发现将对象的casted(基类)实例传递给它的一个基类静态方法在语法上是不愉快的,并且一些开发人员可能会对这种编码风格感到困惑,所以对这些代码进行注释总是一个好主意。