抽象类和接口的使用就是is和has的区别。
比如男人,小孩,女人相对于人,就是is关系,除了说话,走路,体型之外有很多相似之处,共性较多,这个时候使用abstract class就可以简化代码逻辑。
再比如人,汽车,飞机相对于移动这个动作,就是has关系,接口强调的是个别的某种行为,共性较少,这个时候使用intervce class也可以简化代码逻辑。