设计模式之--模板设计模式
2015-11-30 14:28
375 查看
模板设计模式:在一个抽象类中,一个方法是抽象的,一个方法是具体的,在这个具体的方法方法中,去调用这个抽象的方法,这些抽象的方法由子类具体的实现,从而实现不同人有不同的表现。
下面一个例子就是:每个人的一生都是从出生到死亡,但是每个人的具体的细节是不一样的。但是人的一生就是一个模板。
package template;
public abstract class Life {
public abstract void birth();
public abstract void goToSchool();
public abstract void goToUniversity();
public void life(){
this.birth();
this.goToSchool();
this.goToUniversity();
}
}
package template;
public class XiaoMing extends Life{
public void birth() {
// TODO Auto-generated method stub
System.out.println("小明 出生了");
}
public void goToSchool() {
// TODO Auto-generated method stub
System.out.println("小明 上初中了");
}
public void goToUniversity() {
// TODO Auto-generated method stub
System.out.println("小明 上北大了");
}
}
package template;
public class XiaoGang extends Life{
public void birth() {
// TODO Auto-generated method stub
System.out.println("小刚出生在一个明星的家中");
}
public void goToSchool() {
// TODO Auto-generated method stub
System.out.println("小刚去香港的中学了");
}
public void goToUniversity() {
// TODO Auto-generated method stub
System.out.println("小刚去洛杉矶读大学了");
}
}
package template;
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
Life life=new XiaoMing();
life.life();
}
}
下面一个例子就是:每个人的一生都是从出生到死亡,但是每个人的具体的细节是不一样的。但是人的一生就是一个模板。
package template;
public abstract class Life {
public abstract void birth();
public abstract void goToSchool();
public abstract void goToUniversity();
public void life(){
this.birth();
this.goToSchool();
this.goToUniversity();
}
}
package template;
public class XiaoMing extends Life{
public void birth() {
// TODO Auto-generated method stub
System.out.println("小明 出生了");
}
public void goToSchool() {
// TODO Auto-generated method stub
System.out.println("小明 上初中了");
}
public void goToUniversity() {
// TODO Auto-generated method stub
System.out.println("小明 上北大了");
}
}
package template;
public class XiaoGang extends Life{
public void birth() {
// TODO Auto-generated method stub
System.out.println("小刚出生在一个明星的家中");
}
public void goToSchool() {
// TODO Auto-generated method stub
System.out.println("小刚去香港的中学了");
}
public void goToUniversity() {
// TODO Auto-generated method stub
System.out.println("小刚去洛杉矶读大学了");
}
}
package template;
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
Life life=new XiaoMing();
life.life();
}
}
相关文章推荐
- 图片的拉伸
- JavaScript 闭包
- oracle 非空闲等待事件排查
- SpringMvc快速入门
- JQ---表单验证(用户名、邮箱)
- centos6上redis搭建配置
- configure.ac范例一
- Tomacat7启动报错-org.apache.catalina.deploy.WebXml addFilter
- Git忽略规则及.gitignore规则不生效的解决办法
- TCP_UDP常见端口参考
- Android内存管理之LMK和OOM
- C语言_数组
- android:descendantFocusability用法简析
- 在Spring MVC中,事务可以加在Controller层
- PPP协议详解
- Bootstrap历练实例:警告框(Alert)插件的方法
- weblogic10.3.5 内存修改
- jquery动态添加下拉框---待续
- Python设计模式系列之四: 创建型Abstract Factory模式
- shell 指令(二)