using System;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
interface test
{
void print(string mess);
string getvalue();
}
class FileExample
{
public static void Main()
{
int i = 0;
Console.Write("输入你要的执行的类(>=0或<0):");
i = Convert.ToInt32(Console.ReadLine());
factory fac = new factory();
test test = fac.create(i);
test.print("来自");
string msg= test.getvalue();
Console.WriteLine(msg);
Console.ReadKey();
}
}
class class1:test
{
public void print(string mess)
{
Console.WriteLine(mess+"In class1.print/n");
}
public string getvalue()
{
return "Return from class1.getvalue";
}
}
class class2 : test
{
public void print(string mess)
{
Console.WriteLine(mess + "In class2.print/n");
}
public string getvalue()
{
return "Return from class2.getvalue";
}
}
class factory //定义工厂类
{
public test create(int i) //返回类型为一个定义好的接口
{
if(i<=0)
return new class1(); //返回类1
else
return new class2(); //返回类2
}
}
}