public class Farm { List<Farmer> Farmers; List<Cow> Cows; /// <summary> /// 工作时长 /// </summary> TimeSpan WorkingTime; public void StartWork() { // 分配工作 } } public class Farmer { public Milk Milking(List<Cow> cows) { Milk m = null; foreach (var cow in cows) { //m += cow.OutputMilk(); } return m; } } public class Cow { public Milk OutputMilk() { return new Milk(); } } public class Milk {
}
class Farmer{ public int Milk(Cow cow){ // 挤奶的实现方法 } }class Cow{ // 获得当前这个牛有多少奶量 public int Milk{get{return 100;}} }
public class Farmer { public string nongchangzhu; public string nainiu; public void jinai() { //挤奶的实现 } }
{
List<Farmer> Farmers;
List<Cow> Cows; /// <summary>
/// 工作时长
/// </summary>
TimeSpan WorkingTime;
public void StartWork()
{
// 分配工作
}
} public class Farmer
{
public Milk Milking(List<Cow> cows)
{
Milk m = null;
foreach (var cow in cows)
{
//m += cow.OutputMilk();
}
return m;
}
} public class Cow
{
public Milk OutputMilk()
{
return new Milk();
}
} public class Milk
{
}
public int Milk(Cow cow){
// 挤奶的实现方法
}
}class Cow{
// 获得当前这个牛有多少奶量
public int Milk{get{return 100;}}
}
{
public string nongchangzhu;
public string nainiu;
public void jinai()
{
//挤奶的实现
}
}
挺好,关键是Milk方法,挺好。
借问,如果需要抽象农场的话,如何把农场、农场主、奶牛联系起来?
敬请赐教。
农场 跟 奶牛 是聚合关系
挤奶接口(+被挤奶)
农场主 跟 奶牛 是 依赖关系
奶牛 实现 挤奶接口(+被挤奶)class farm
{
private cow[] _cows;
private farmer _farmer;
public farm(farmer f)
{
//指定农场主
_farmer=f;
}
//给指定奶牛挤奶
public object[] GetCowsMilk (cow[] cows )
{
return _farmer. JiMilk(cows);
}
}
class farmer
{
private object[] milks;
public static object[] JiMilk(cow[] cows)
{
milks=new object[cows.length];
for(int i=0;i< cows.length;i++)
{
milks[i]=(iMilk)cows[i].getMilk();
}
return milks;//获取所有挤到的奶
}
}
class cow :iMilk
{
object iMilk.getMilk()
{
//出奶
}
}
interface iMilk
{
object getMilk();
}
我做的題目是
狗吠,雞嚇,人趕狗用到的是適配器模式編程你讓奶牛和人都繼承自同一個IAnimal然後一個農場建立一個奶牛和一個農場主在奶牛的產奶中引入農場主來擠奶這樣就能完成題目要求了
函数 挤奶(参数 奶牛) 返回结果
CLASS 奶牛
CLASS 农场
场主
奶牛集合