设计模式--模板模式

自己的理解:
模板模式的任务不在是创建而是规定了做某件事的规则或者说步骤.

/**
*

  • @author dch

*/
//定义人的抽象类
public abstract class Person {

//抽象类里面可以有抽象方法
//也可以有普通方法
//当继承抽象类时,抽象方法都实现
//因此模板模式通过抽象方法定义一套规则

public void gotoSchool(){
	//1.起床
	getUp();
	//2.吃早餐
	eat();
	//3.带上东西
	takeThing();
}

public abstract void getUp();
public abstract void eat();
public abstract void takeThing();

//这里说明抽象类中普通方法可以调用抽象类中的抽象方法

}

/**
*

  • @author dch

*/
//定义一个学生类去继承Person类
public class Student extends Person {

@Override
public void getUp() {
	// TODO Auto-generated method stub
	System.out.println("学生7点半起床");
}

@Override
public void eat() {
	// TODO Auto-generated method stub
	System.out.println("学生吃包子,喝豆浆");
}

@Override
public void takeThing() {
	// TODO Auto-generated method stub
	System.out.println("学生带上书包");
}

}

/**
*

  • @author dch

*/
//定义一个老师类来继承Person类
public class Teacher extends Person{

@Override
public void getUp() {
	// TODO Auto-generated method stub
	System.out.println("老师7点20 起床");
}

@Override
public void eat() {
	// TODO Auto-generated method stub
	System.out.println("老师吃了一碗热干面");
}

@Override
public void takeThing() {
	// TODO Auto-generated method stub
	System.out.println("老师带上教课书");
}

}

测试类:
/**
*

  • @author dch

*/
//测试类
public class Test {

/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub

	Person stuPerson = new Student();
	stuPerson.gotoSchool();
	
	Person teapPerson = new Teacher();
	teapPerson.gotoSchool();
}
/*
 * 模板模式:
 * 这里不在是,像工厂模式去创建对象了
 * 这里是规定做某件事的一个流程,大家的流程是一样的,
 * 但是每个人具体的做法却不一样,就比如这里,
 * 去学校这件事,是老师和学生都要做的
 * 模板模式就规定了3个步骤,起床,吃饭,带东西.
 * 只是老师和学生对着3个步骤的具体做法不同.
 * 
 */

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值