public class noodle:food
{
public noodle()
{
console.writeline("/nthe noodle is made..");
}
private int price;
//面条noodle的cook方法接口实现
public void cook()
{
console.writeline("/nnoodle is cooking...");
}
//面条noodle的sell方法接口实现
public void sell()
{
console.writeline("/nnoodle has been sold...");
}
public int price
{
get{return this.price;}
set{price=value;}
}
}
//rice
public class rice:food
{
public rice()
{
console.writeline("/nthe rice is made ..");
}
private int price;
public void cook()
{
console.writeline("/nrice is cooking...");
}
public void sell()
{
console.writeline("/nrice has been sold...");
}
public int price
{
get{return this.price;}
set{price=value;}
}
}
//bread
public class bread:food
{
public bread()
{
console.writeline("/nthe bread is made....");
}
private int price;
public void cook()
{
console.writeline("/nbread is cooking...");
}
public void sell()
{
console.writeline("/nbread has been sold...");
}
public int price
{
get{return this.price;}
set{price=value;}
}
}
//定义大厨,他包办这个快餐店里的所有food,包括面条,面包和米饭
class chef
{
public static food makefood(string foodname)
{
try
{
switch(foodname)
{
case "noodle": return new noodle();
case "rice":return new rice();
case "bread":return new bread();
default:throw new badfoodexception("bad food request!");
}
}
catch(badfoodexception e)
{
throw e;
}
}
}
//异常类,该餐馆没有的食品
class badfoodexception: system.exception
{
public badfoodexception(string strmsg)
{
console.writeline(strmsg);
}
}