You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求有限类的类图示例:其任意对象图需含无限数量对象

有限类但对象图必为无限的类图示例

这里给你两个经典的实现方案,都只用到有限数量的类,但任何符合规则的对象图都必须包含无限个对象:

方案1:双向强制组合(2个类)

类结构

  • Container:拥有一个强制组合关系(实心菱形)指向Content——意味着每个Container实例必须包含一个Content实例作为其组成部分,且Content的生命周期完全由所属Container控制,不能独立存在。
  • Content:拥有一个强制组合关系指向Container——每个Content实例必须包含一个Container实例作为其组成部分。

为什么对象图必须无限?

尝试构建对象图的过程永远无法终止:

  1. 创建Container实例c1,必须同时创建它的组成部分Content实例co1。
  2. co1作为Content实例,必须同时创建它的组成部分Container实例c2。
  3. c2需要co2,co2需要c3……循环往复,只能生成无限数量的对象,没有任何方式能构建出有限的合法对象图。

方案2:自包含强制组合(1个类)

类结构

  • NestedObject:拥有一个强制组合关系指向自身——每个NestedObject实例必须包含另一个NestedObject实例作为其组成部分。

为什么对象图必须无限?

这个类的实例是无限嵌套的:每个NestedObject里都必须包含一个新的NestedObject,不存在“不包含子实例”的合法对象,因此任何对象图都只能是无限层的嵌套结构,对象数量必然无限。


内容的提问来源于stack exchange,提问作者PDP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:33:28