class Document
{
}
interface IPrint
{
void Print(Document d);
}
interface IBetterPrint: IPrint
{
// void Print(Document d);
void Copy(Document d);
void Fex(Document d);
void Email(Document d);
}
// 新式打印机
class NewPrint : IBetterPrint
{
public void Copy(Document d)
{
}
public void Email(Document d)
{
}
public void Fex(Document d)
{
}
public void Print(Document d)
{
}
}
// 老式打印机
class OldPrint : IPrint//IBetterPrint
{
public void Copy(Document d)
{
throw new NotImplementedException();
}
public void Email(Document d)
{
throw new NotImplementedException();
}
public void Fex(Document d)
{
throw new NotImplementedException();
}
public void Print(Document d)
{
Console.WriteLine(d.ToString());
}
}