类关联设计问题

杨根祥 2008-10-21 02:35:54
A类
public class A
{
}
B类
public class B
{
}
如果B类是A类的一部分,A类同时又拥有B类的一个集合,怎么设计呢?
同时,在表示集合时,可以使用List<B>,Hashtable(string,B),索引器.
请问在什么情况下使用什么方式,在什么情况下不能使用什么方式.
请高手多多请教.

...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
js1722 2008-10-23
  • 打赏
  • 举报
回复
Order类里可以加个方法,来遍例所有的OrderDetail对象。
js1722 2008-10-23
  • 打赏
  • 举报
回复
public interface IOrderDetail
{
void Change(IOrder iOrder);
}

public interface IOrder
{
void AddDetail(IOrderDetail iOrderDetail);
}

public class OrderDetail:IOrderDetail
{
public void Change(IOrder iOrder)
{
根据iOrder类来操作OrderDetail类.
}
}

public class Order:IOrder
{
List<object> lo = new List<object>();

public void AddDetail(IOrderDetail iOrderDetail)
{
lo.Add(iOrderDetail);
}
}

class Program
{
   static void Main()
   {
Order order = new Order();
OrderDetail orderDetail1 = new OrderDetail();
OrderDetail orderDetail2 = new OrderDetail();
OrderDetail orderDetail3 = new OrderDetail();
OrderDetail orderDetail4 = new OrderDetail();
order.AddDetail(orderDetail1);
order.AddDetail(orderDetail2);
order.AddDetail(orderDetail3);
order.AddDetail(orderDetail4);
   }
}


手写的,自己再去扩展一下功能。. 不知道是不是楼主想要的。
一游 2008-10-23
  • 打赏
  • 举报
回复
把B搞成结构
杨根祥 2008-10-23
  • 打赏
  • 举报
回复
用接口来实现。. 看看设计模式里面的观察者模式就明白了。
--------------------------------------------------
A与B的关系就想订单与订单明细一样.
订单拥有一个订单明细集合.
订单明细属于订单类.
public class Order
{
}
public Class OrderItems
{
}
如果
public Class Order
{
}
Public Class OrderItems
{
private Order mOrder;
public Order Order
{
get;
set;
}
订单明细对象可以知道所属于的订单信息;
但订单明细集合就会多出订单信息;
enihs 2008-10-22
  • 打赏
  • 举报
回复
HashTable好久不用了 都用Dictionary或者HashSet
js1722 2008-10-22
  • 打赏
  • 举报
回复
用接口来实现。. 看看设计模式里面的观察者模式就明白了。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧