抽象类的实际应用-模板设计模式
1、 抽象类的最大特点在于强制规定了子类的实现结构,那么除了这一特点之外,抽象类更多的情况下还可以起到一个模板的作用,下面做一个简单的分析:1、人=吃饭+睡觉+工作;2、猪=吃饭+睡觉;3、机器人=吃饭+工作。那么现在假设有一个按钮控制(方法),一旦传入了某些指令之后就可以进行相应的处理。

3、定义人的行为的子类。//人class Human extends Action { @Override public void eat() { System.out.println("人吃饭要吃熟食,干净的食物!"); } @Override public void sleep() { System.out.println("人困了就要睡觉。"); } @Override public void work() { System.out.println("人要努力拼搏。"); } }

5、定义机器人的行为子类://机器人class Robbbot extends Action { @Override public void eat() { System.out.println("机器人补充能量。"); } @Override public void sleep() { } @Override public void work() { System.out.println("机器人不停工作"); } }

7、实际上通过此程序的定义结构你可以清楚发现一个问题:1、抽象类在实际的使用过程之中会定义一些固话的模式,它只能接收几种特定的指令。2、但是每种指令的具体实现由子类负责完成,父类只做了方法的约定。这个最具有代表性的就是Servlet程序。
8、抽象类虽然后定义了子类必须要做的事情,但是抽象类依然存在有单继承的局限抽象类的使用必须要通过子类进行对象实例化处理。