[拾遗]状态模式
嘻嘻,同样,不是送给高手,是我自己回忆一下,给自己以及也忘记的人看的。
using System;
using System.Collections.Generic;
using System.Text;
namespace 状态模式1
{
class Program
{
static void Main(string[] args)
{
状态接口 状态1 = new 生病();
状态接口 状态2 = new 健康();
人 小王 = new 人();
小王.状态属性 = 状态1;
小王.干什么();
小王.状态属性 = 状态2;
小王.干什么();
Console.Read();
}
}
public interface 状态接口
{
/// <summary>
/// 在每种状态下该干什么
/// </summary>
void 该干什么();
}
/// <summary>
/// 状态的Context
/// </summary>
public class 人
{
private 状态接口 状态;
public 人()
{ }
public 状态接口 状态属性
{
get
{
return 状态;
}
set
{
状态 = value;
}
}
//public 人(状态接口 状态)
//{
// this.状态 = 状态;
//}
public void 干什么()
{
状态.该干什么();
}
}
public class 生病 : 状态接口
{
public void 该干什么()
{
Console.WriteLine("打针吃药休息");
}
}
public class 健康 : 状态接口
{
public void 该干什么()
{
Console.WriteLine("上班");
}
}
}
using System.Collections.Generic;
using System.Text;
namespace 状态模式1
{
class Program
{
static void Main(string[] args)
{
状态接口 状态1 = new 生病();
状态接口 状态2 = new 健康();
人 小王 = new 人();
小王.状态属性 = 状态1;
小王.干什么();
小王.状态属性 = 状态2;
小王.干什么();
Console.Read();
}
}
public interface 状态接口
{
/// <summary>
/// 在每种状态下该干什么
/// </summary>
void 该干什么();
}
/// <summary>
/// 状态的Context
/// </summary>
public class 人
{
private 状态接口 状态;
public 人()
{ }
public 状态接口 状态属性
{
get
{
return 状态;
}
set
{
状态 = value;
}
}
//public 人(状态接口 状态)
//{
// this.状态 = 状态;
//}
public void 干什么()
{
状态.该干什么();
}
}
public class 生病 : 状态接口
{
public void 该干什么()
{
Console.WriteLine("打针吃药休息");
}
}
public class 健康 : 状态接口
{
public void 该干什么()
{
Console.WriteLine("上班");
}
}
}