Hey, I did not give it to the experts. I recalled it myself and showed it to myself and those who forgot it.
Using system;
Using system. Collections. Generic;
Using system. text;
Namespace status Mode 1
{
Class Program
{
Static void main (string [] ARGs)
{
Status interface status 1 = new illness ();
Status interface status 2 = new healthy ();
Man Wang = new man ();
Wang. state attribute = state 1;
What does John do ();
Wang. state attribute = state 2;
What does John do ();
Console. Read ();
}
}
Public interface Status Interface
{
/// <Summary>
/// What should I do in each status?
/// </Summary>
Void ();
}
/// <Summary>
/// Context
/// </Summary>
Public class person
{
Private Status interface status;
Public ()
{}
Public Status interface status attribute
{
Get
{
Return status;
}
Set
{
Status = value;
}
}
// Public (Status interface status)
//{
// This. Status = status;
//}
What is public void ()
{
Status. What to do ();
}
}
Public class ill: Status Interface
{
Public void ()
{
Console. writeline ("taking pills after injection ");
}
}
Public class health: Status Interface
{
Public void ()
{
Console. writeline ("go to work ");
}
}
}