HeadFirst设计模式入门(一)
来源:互联网 发布:微信开发 第三方源码 编辑:程序博客网 时间:2024/05/22 17:26
开发工具VS.NET 语言c#
捕获需求V0.0.0.1:开发一个鸭子仿真游戏,要求可以游泳,可以呱呱叫,可以展示在屏幕上,并且在只有绿头鸭MallardDuck和红头鸭RedHeadDuck两种
分析:
由于绿头鸭和红头鸭,唯一区别只有显示在屏幕上时颜色不同,因此类图设计如下:
其中,由于只有display()方法是不同的,其余两个方法均为相同,因此将display()方法定义为虚方法,在各自的子类中实现,而对于quack()和swim()方法则完全继承至超类。代码如下:
超类:
public abstract class Duck
{
public void quack()
{
Console.WriteLine("我呱呱叫");
}
public void swim()
{
Console.WriteLine("我可以游泳");
}
public abstract void display();
}
绿头鸭子类:
public class MallarDuck:Duck
{
public override void display()
{
Console.WriteLine("我显示为绿头鸭");
}
}
红头鸭子类:
public class RedHeadDuck:Duck
{
public override void display()
{
Console.WriteLine("我显示为红头鸭");
}
}
测试类:
class Program
{
static void Main(string[] args)
{
#region 测试绿头鸭
MallarDuck md = new MallarDuck();
md.display();
md.quack();
md.swim();
#endregion
#region 测试红头鸭
RedHeadDuck rd = new RedHeadDuck();
rd.display();
rd.quack();
rd.swim();
#endregion
Console.ReadKey();
}
}
显示为:
到此为止,对于需求V0.0.0.1,这个设计还不错……
- HeadFirst设计模式入门(一)
- HeadFirst设计模式入门(二)
- HeadFirst设计模式入门(三)
- HeadFirst设计模式入门(四)
- 【HeadFirst设计模式】(一)策略模式
- HeadFirst 设计模式一及其c#实现
- 《HeadFirst 设计模式》学习笔记(一)
- HeadFirst设计模式读书笔记(一)
- HeadFirst设计模式笔记(一)策略模式,观察者模式
- 调侃《HeadFirst设计模式》之工厂模式(一)
- HeadFirst设计模式
- HeadFirst -------- 设计模式要点
- Headfirst设计模式 整理
- HeadFirst 设计模式 总
- HeadFirst设计模式
- HeadFirst 设计模式 笔记
- Headfirst-设计模式
- HeadFirst设计模式 读书笔记
- [VB.NET源码]串口通信
- SQL 分页查询-ROW_NUMBER() 函数
- 企业能否要求禁带笔记本和手机?
- java.beans包里面的两个类简单地实现XML解析
- ogre1.6中骨骼动画文件格式
- HeadFirst设计模式入门(一)
- Smart Client学习笔记(8) 智能客户端中的离线数据访问
- XML DTD
- 诺基亚日前向美国专利管理局提交的一份新专利申请就为我们展示了另一种全新的设计理念。
- HeadFirst设计模式入门(二)
- 关于重载解析的实验
- 使用__attribute__处理对齐问题
- 使用sed如何把每行从#开始的所有后面的字符清空?
- 2008最垃圾的十大游戏