任何基类可以出现的地方,子类一定可以出现
开闭原则的基础,针对接口编程,依赖抽象而不依赖于具体
使用多个接口,比使用单个接口要好,降低类之间的耦合度
一个实体应当尽量少的与其他实体之间发生相互作用,使系统功能模块相对独立
对扩展开放,对修改关闭。对程序进行扩展的时候,不应该去修改原有的代码