相关疑难解决方法(0)

非虚拟和抽象方法的命名约定

我经常发现自己创建使用这种形式的类(A):

abstract class Animal {
  public void Walk() {
    // TODO: do something before walking

    // custom logic implemented by each subclass
    WalkInternal();

    // TODO: do something after walking
  }
  protected abstract void WalkInternal();
}

class Dog : Animal {
  protected override void WalkInternal() {
    // TODO: walk with 4 legs
  }
}

class Bird : Animal {
  protected override void WalkInternal() {
    // TODO: walk with 2 legs
  }
}
Run Code Online (Sandbox Code Playgroud)

而不是这种形式(B):

abstract class Animal {
  public abstract void Walk(); …
Run Code Online (Sandbox Code Playgroud)

language-agnostic oop design-patterns naming-conventions

27
推荐指数
3
解决办法
1578
查看次数