一、Object-Oriented基础:
        1、抽象
        2、封装
        3、多态
        4、继承
二、Object-Oriented原则:
        1、封装“变化”:抽取应用中可能“变化”部分,独立起来
        2、针对“接口“编程,而不针对实现编程:“接口”泛指超类型(supertype)
        3、多用组合,少用继承
        4、交互对象间的松耦合
        5、类:开放扩展,关闭修改
        6、依赖抽象,不要依赖于具体类
        7、最少知识原则,只和最密切的交流
        8、别调用我们,我们会调用你
        9、一个类应该只有一个引起变化的原因