工厂方法模式
using System;
namespace MyApp
{
class Program
{
static void Main()
{
IFactury factury = new StudentFactury();
Person student = factury.CreatePersonInstance();
student.Profile();
Console.WriteLine();
factury = new TeacherFactury();
Person teacher = factury.CreatePersonInstance();
teacher.Profile();
Console.ReadKey();
}
}
class Person
{
public virtual void Profile()
{
Console.WriteLine(this.GetType().ToString());
}
}
class Student : Person
{
public override void Profile()
{
Console.WriteLine("I'm a student~");
base.Profile();
}
}
class Teacher : Person
{
public override void Profile()
{
Console.WriteLine("I'm a teacher~");
base.Profile();
}
}
class Doctor : Person
{
public override void Profile()
{
Console.WriteLine("I'm a doctor~");
base.Profile();
}
}
interface IFactury
{
Person CreatePersonInstance();
}
class StudentFactury : IFactury
{
public Person CreatePersonInstance()
{
return new Student();
}
}
class TeacherFactury : IFactury
{
public Person CreatePersonInstance()
{
return new Teacher();
}
}
class DoctorFactury : IFactury
{
public Person CreatePersonInstance()
{
return new Doctor();
}
}
}
9576

被折叠的 条评论
为什么被折叠?



