using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace factory1 { class Program { abstract class Position { public abstract string Title { get; } } class Clerk : Position { public override string Title { get { return "Clerk"; } } } class Manager : Position { public override string Title { get { return "Manager"; } } } class Programmer : Position { public override string Title { get { return "Programmer"; } } } static class Factory { public static Position Get(int id) { switch (id) { case 0: return new Manager(); case 1: case 2: return new Clerk(); default: return new Programmer(); } } } static void Main(string[] args) { for (int i = 0; i < 3; i++) { Position position = Factory.Get(i); Console.WriteLine("Where id = {0}, position = {1}", i, position.Title); } } } }