C#《大话设计模式》之模板方法模式学习笔记
static void Main(string[] args)
{
Console.WriteLine("学生甲抄的试卷:");
TestPaper A = new TestPaperA();
A.TestQuestion1();
A.TestQuestion2();
A.TestQuestion3(); Console.WriteLine("学生乙抄的试卷:");
TestPaper B = new TestPaperB();
B.TestQuestion1();
B.TestQuestion2();
B.TestQuestion3(); Console.ReadKey(); }
}
abstract class TestPaper //此处原书是普通类,此处改为抽象类,从而而不用实现虚方法
{
public void TestQuestion1()
{
Console.WriteLine("1+1,A.2 B.3 C.4. D.1");
Console.WriteLine("答案:" + Answer1());
}
protected abstract string Answer1();
public void TestQuestion2()
{
Console.WriteLine("月有阴晴圆__ A.方 B.窄 C.缺 D.美");
Console.WriteLine("答案:" + Answer2());
}
protected abstract string Answer2(); public virtual void TestQuestion3()
{
Console.WriteLine("《机动车安全运行技术条件》的简称是 A.GB18565 B.GB7258 C.GB800 D.GB400");
Console.WriteLine("答案:" + Answer3());
}
protected abstract string Answer3(); }
class TestPaperA : TestPaper
{
protected override string Answer1()
{
return "A";
}
protected override string Answer2()
{
return "B";
}
protected override string Answer3()
{
return "C";
}
}
class TestPaperB : TestPaper
{
protected override string Answer1()
{
return "C";
}
protected override string Answer2()
{
return "B";
}
protected override string Answer3()
{
return "A";
}
}
C#《大话设计模式》之模板方法模式学习笔记的更多相关文章
- [GeekBand] 设计模式——工厂模式学习笔记
本文参考文献:GeekBand课堂内容,授课老师:李建忠 :大话设计模式 其余的模式方法请自行查看Geekband相关课程,在此不累述. 这周的课题是: 针对DrawingSystem中的基类Sha ...
- 【Head-First设计模式】C#版-学习笔记-开篇及文章目录
原文地址:[Head-First设计模式]C#版-学习笔记-开篇及文章目录 最近一年断断续续的在看技术书,但是回想看的内容,就忘了书上讲的是什么东西了,为了记住那些看过的东西,最好的办法就是敲代码验证 ...
- 大话设计模式之模板模式 C#
学无止境,精益求精 十年河东,十年河西,莫欺少年穷 今天一起探讨模板模式,如下: 一.概念 上一篇文章讲了大话设计模式:原型模式,原型模式主要是通过Clone()方法<深浅复制>,创建新的 ...
- 负载均衡算法,轮询方式 大话设计模式之工厂模式 C#
负载均衡算法,轮询方式 2018-04-13 17:37 by 天才卧龙, 13 阅读, 0 评论, 收藏, 编辑 学无止境,精益求精 十年河东,十年河西,莫欺少年穷 学历代表你的过去,能力代表你的现 ...
- C# Json反序列化 C# 实现表单的自动化测试<通过程序控制一个网页> 验证码处理类:UnCodebase.cs + BauDuAi 读取验证码的值(并非好的解决方案) 大话设计模式:原型模式 C# 深浅复制 MemberwiseClone
C# Json反序列化 Json反序列化有两种方式[本人],一种是生成实体的,方便处理大量数据,复杂度稍高,一种是用匿名类写,方便读取数据,较为简单. 使用了Newtonsoft.Json,可以自 ...
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
原文:乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 模板方法模式(Template Method ...
- 折腾Java设计模式之模板方法模式
博客原文地址:折腾Java设计模式之模板方法模式 模板方法模式 Define the skeleton of an algorithm in an operation, deferring some ...
- SQL反模式学习笔记1 开篇
什么是“反模式” 反模式是一种试图解决问题的方法,但通常会同时引发别的问题. 反模式分类 (1)逻辑数据库设计反模式 在开始编码之前,需要决定数据库中存储什么信息以及最佳的数据组织方式和内在关联方式. ...
- SQL反模式学习笔记5 外键约束【不用钥匙的入口】
目标:简化数据库架构 一些开发人员不推荐使用引用完整性约束,可能不使用外键的原因有一下几点: 1.数据更新有可能和约束冲突: 2.当前的数据库设计如此灵活,以至于不支持引用完整性约束: 3.数据库为外 ...
随机推荐
- 最近做app项目中遇到的问题 以及一些常见注意事项
最近做app项目中遇到的问题 1.时间兼容问题 var date = "2019-12-18 18:03:45" //不兼容代码 var newDate = new Date(da ...
- Mybatis学习之自定义持久层框架(七) 自定义持久层框架优化
前言 接上文,这里只是出于强迫症,凭借着半年前的笔记来把之前没写完的文章写完,这里是最后一篇了. 前面自定义的持久层框架存在的问题 Dao层若使用实现类,会存在代码重复,整个操作的过程模版重复(加载配 ...
- MySQL关于日期为零值的处理
前言: 前面文章我们介绍过日期和时间字段的查询方法,最近遇到日期值为零的问题.原来了解过和 sql_mode 参数设置有关,但还不是特别清楚,本篇文章将探究下MySQL怎么处理日期值为零的问题. 1. ...
- 个人项目作业$\cdot$求交点个数
个人项目作业\(\cdot\)求交点个数 一.作业要求简介 本次作业是北航计算机学院软件工程课程的个人项目作业,个人开发能力对于软件开发团队是至关重要的,本项目旨在通过一个求几何图形的交点的需求来使学 ...
- opencv实战——图像矫正算法深入探讨
摘要 在机器视觉中,对于图像的处理有时候因为放置的原因导致ROI区域倾斜,这个时候我们会想办法把它纠正为正确的角度视角来,方便下一步的布局分析与文字识别,这个时候通过透视变换就可以取得比较好的裁剪效果 ...
- 实施CRM系统后 企业客户服务的改变
通过实施CRM客户管理系统,企业的竞争力和盈利能力得到大幅提高.在这个过程中,客户服务不仅能够持续的满足客户的需求,还能够促进客户与企业建立长期的互惠互利的良好客户关系,这也为企业赢得了更多的商机和利 ...
- ZOHO荣登“2020中国ToB行业年度企业影响力”榜单
近日,3WToB行业头条正式揭晓<2020中国ToB行业年度榜单 · 企业影响力榜>. 此次评选,ToB行业头条联合3W集团.50+知名投资机构.60+权威媒体及资深行业人士,进行深度调研 ...
- 用nvm的方式安装node
一.nvm简介 Node Version Manager(Node版本管理工具)由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理. nvm的安 ...
- KEIL expected an identifier
error: #40: expected an identifier(在线等) C语言编译是提示的.这句话是什么意思啊, 怎样解决啊 我来答 浏览 33290 次 4个回答 #活动# [芝麻 ...
- docker 部署应用
Docker 部署应用 所需环境 Linux系统:centos7 (推荐7.4) Docker环境:V1.13.1 镜像:应用镜像包 docker部署和基本命令: 1. docker环境搭建 a) ...