gpt4 book ai didi

c# - 关联、聚合和组合

转载 作者:太空狗 更新时间:2023-10-29 22:04:14 33 4
gpt4 key购买 nike

我正在处理这个问题。我正在创造数学问题,每一个都有回应。例如。

  • 如果我的问题是关于“5x + 15 = 2 的结果?”,我将只等待一个答案(整数)。
  • 如果我的问题是关于“给我这个形状的面积和许可”,我将等待两个答案( double )。
  • 在另一个中,我将等待一个字符串作为响应
  • 还有其他人,我可以有多个不同数据类型的答案或响应。

我的大问题是。

类问题和响应之间的关系如何。我也在处理这是否应该是关联、聚合或组合。

谢谢。

编辑:太好了,这是一篇作文。最后一件事,根据上面的句子,我如何表示设计?这些是我的一些想法,但我想我错了。

public class Question
{
public Response _response;
//public List<Response>
//public Dictionary<string, Response>

public Question()
{
this._response = new Response();
}
}

public class Response
{
}

最佳答案

关联是所有对象都有自己的生命周期并且没有所有者的关系。让我们举一个老师和学生的例子。多个学生可以与一个老师关联,一个学生可以与多个老师关联,但对象之间没有所有权,并且都有自己的生命周期。两者都可以独立创建和删除。

聚合 是一种特殊形式的关联,其中所有对象都有自己的生命周期,但存在所有权:子对象不能属于另一个父对象。让我们以部门和老师为例。一个老师不能属于多个部门,但是如果我们删除部门,老师对象不会被破坏。我们可以将其视为“拥有”关系。

组合 又是聚合的一种特殊形式,我们可以将其称为“死亡”关系。它是一种强类型的聚合。子对象没有生命周期,如果父对象被删除,所有子对象也将被删除。让我们再举一个房子和房间之间关系的例子。一个房子可以包含多个房间,一个房间没有独立的生命,一个房间不能属于两个不同的房子。如果我们删除房屋,其房间将自动删除。让我们再举一个问题和选项之间关系的例子。单个问题可以有多个选项,一个选项不能属于多个问题。如果我们删除一个问题,它的选项也将被删除。

关于c# - 关联、聚合和组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11265711/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com