Java设计模式模板方法实例

2019-04-14 18:20发布

package com.xiongdilian; /** * Java设计模式之模板方法模式 * 比如定义一个操作中的算法的骨架,将步骤延迟到子类中。 * 模板方法使得子类能够不去改变一个算法的结构即可重定义算法的某些特定步骤。 */ import java.util.Random; public class AbstractAppDemo { public static void main(String[] args) { Company c1 = new Applicant("小明"); Company c2 = new Applicant("小红"); c1.interview(); c2.interview(); } } //抽象类无法被实例化,不用定义构造方法 abstract class Company{ //普通方法 public void interview(){ System.out.println("请开始你的介绍"); if(compelete()){ System.out.println("面试成功"); }else{ System.out.println("面试失败"); } } //抽象类方法 public abstract boolean compelete(); } class Applicant extends Company{ public String name; public Applicant() { super(); } public Applicant(String name) { super(); this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean compelete(){ System.out.println("我的名字是"+getName()); Random r = new Random(); return r.nextBoolean(); } }