每个方法的优缺点是什么?
- 接口方法
- 虚方法
- 抽象方法
什么时候应该选择哪一个?做出这个决定时应该注意哪些要点?
虚方法和抽象方法基本相同。虚方法在基类中有一个实现,可以选择是否重写,而抽象方法没有实现,必须在子类中被重写。否则它们相同。选择它们取决于具体情况。如果有一个基本实现,使用虚方法。如果没有,并且需要每个派生类都自己实现,就选择抽象方法。
接口方法是在类实现的接口中声明的方法的实现。这与另外两种方法无关。我认为一个方法既可以是虚方法也可以是接口方法。接口的优点在于声明一个接口,可以由两个完全不同的类实现。这样,只要调用您想要的方法在它们共享的接口中被声明,就可以在两个不同的类上运行相同的代码。