一、面向抽象编程
使用多态进行程序设计的核心技术之一是使用上转型对象,即将abstract类声明的对象作为其子类对象的上转型对象,那么这个上转型对象就可以调用子类重写的方法。
所谓面向抽象编程,是指当设计某种重要的类时,不让该类面向具体的类,而是面向抽象类,即所涉及类中的重复数据是抽象类声明的对象,而不是具体声明的对象。
面向抽象编程的核心是让类中的每种可能的变化对应地交给抽象类的一个子类去负责,从而让该类的设计者不去关心具体实现,避免所设计的类依赖于具体实现。
面向抽象编程使设计的类更容易应对用户的需求的变化。
开闭原则:设计的系统应当对扩展开放,对修改关闭。设计系统时,首先考虑用户需求的变化。
将应对用户变化的部分设计为对扩展开放,而设计的核心部分是经过精心考虑之后确定下来的基本结构,这部分应当对修改关闭的,即不能因为用户需求的变化而发生变化,因为这部分不是用来应对需求变化的。