等等,在你开始思考之前,我想明确一点,我不会问接口和抽象之间的常规区别。
我已经了解了MSDN中 Abstract 和 Interface 之间的区别。
据说 :
通过更新基类,所有继承类都会随着更改而自动更新。
另一方面,接口一旦创建就不能更改。如果需要新版本的接口,则必须创建一个全新的接口。
看到这个: -
任何人都可以使用以下示例证明这一点:-
abstract class WashingMachine
{
abstract public void Wash();
}
class Philips : WashingMachine
{
public Philips() { }
override public void Wash(){//Wash code here....}
}
class Samsung : WashingMachine
{
public Samsung() { }
override public void Wash(){//Wash code here....}
}
class Videocon : WashingMachine
{
public Videocon() { }
override public void Wash(){//Wash code here....}
}
现在,如果我在WashingMachine中添加了以下新的抽象方法:-
abstract public void Rinse(int loadSize);
所有继承类(即 Philips/Samsung/Videocon)将如何随着更改自动更新?