public class Adventurer
{
public virtual string getType()
{
}
}
public class Archer : Adventurer
{
public override string getType()
{
string message = "I am a Archer";
System.Console.WriteLine(message);
return message;
}
}
public class Warrior : Adventurer
{
public override string getType()
{
string message = "I am a Warrior";
System.Console.WriteLine(message);
return message;
}
}
public class TrainingCamp
{
public Adventurer trainAdventurer(string type)
{
switch (tpye)
{
case "archer":
System.Console.WriteLine("Training a Archer");
return new Archer();
break;
case "warrior":
System.Console.WriteLine("Training a Warrior");
return new Warrior();
break;
default:
}
}
}
public class SampleCode
{
public void Demo()
{
TrainingCamp trainingCmap = new TrainingCamp();
Adventurer memberA = trainingCmap.trainAdventurer("archer");
Adventurer memberB = trainingCmap.trainAdventurer("warrior");
System.Console.WriteLine(memberA.getType());
System.Console.WriteLine(memberB.getType());
}
}
Ref
- 7 天學會設計模式-設計模式也可以這樣學
- 大話設計模式
沒有留言:
張貼留言