接口和虚方法可以共同存在,也就是说虚方法可以作为接口的方法。接口在定义上来说,只是定义方法是否存在,而不会在意是否是虚方法。
因此在构造程序结构的时候,模块之间的关系应该首先考虑接口关联。比如一个程序开发到一定程度的时候,策划突然加入了一个功能需求,这时候不要首先去修改原来的代码,而是首先脱离原来的结构开发这个功能,构造这个功能需要的数据和类,从而定义一个注入的接口,然后在原来程序需要嵌入的地方,定义出一个对接接口,从而嵌入这个功能。