zoukankan
html css js c++ java
TemplateMethod模式
Template Method模式的几个角色:
基类角色
:定义的抽象方法、纯虚方法(一般设置为protected),
Template
方法(是对抽象方法、纯虚方法包装).
子类角色:重写
基类
的
抽象方法、纯虚方法.
客户端角色:调用子类中的重写过的方法.
演示代码如下:
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Collections;
namespace
TemplateMethod
{
class
Program
{
public
abstract
class
Computer
//
表示电脑(基类角色)
{
protected
abstract
void
Start();
protected
abstract
void
Close();
public
void
TemplateMethod()
//
Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
{
Start();
//
开电脑
Close();
//
关闭电脑
}
}
//
子类角色
public
class
Lenovo : Computer
//
我上班用的联想电脑
{
protected
override
void
Start()
{
Console.WriteLine(
"
上班了把联想电脑打开
"
);
}
protected
override
void
Close()
{
Console.WriteLine(
"
下班了把联想电脑关闭
"
);
}
}
public
class
ComputerTest
{
public
static
void
DoTest(Computer cp)
//
早上上班要打开电脑测试
{
cp.TemplateMethod();
}
}
//
客户端角色
public
static
void
Main()
{
ComputerTest.DoTest(
new
Lenovo());
//
早上上班要打开我的联想电脑
//
Computer test=new Lenovo();
//
ComputerTest.DoTest(test);
}
}
}
Template Method模式的实质就是在基类定义一个
Template 再在子类中重写
Template中的具体方法,以便客户端访问.
查看全文
相关阅读:
使用手机对Tomcat发布的web应用进行测试
JavaScript HTML DOM 事件
JavaScript HTML DOM
初学JavaScript
Myeclipse中Servlet的创建
RequestDispatcher.forward() 方法和HttpServletResponse.sendRedirect()方法的区别
获取当前系统的时间转化成Long型
JS实现时间格式化
用小技巧来优化大数据量的网页
文字超长自动省略,以...代替,CSS实现
原文地址:https://www.cnblogs.com/xiaobaigang/p/911018.html
最新文章
539. 移动零
97. 二叉树的最大深度
124. 最长连续序列
633. 寻找重复的数
64. 合并排序数组 II
6. 合并排序数组
657. Insert Delete GetRandom O(1)
117. 跳跃游戏 II
148. 颜色分类
387. 最小差
热门文章
116. 跳跃游戏
363. 接雨水
41. 最大子数组
44. 最小子数组
383. 装最多水的容器
114. 不同的路径
怎么给一张表添加外键(四种方法)
Hibernate主键生成策略
Hibernate的Generator属性
Hibernate的组件(Component)映射
Copyright © 2011-2022 走看看