当一个类属性是另一个类的实例时,它叫什么

本文关键字:实例 什么 另一个 属性 一个 | 更新日期: 2023-09-27 18:33:52

这里非常基本的问题,看看我的属性 订单 在我的客户类中。想知道像这样的属性类型的正式名称是什么(是的,这也可能是一个列表)。

public class Customer
{
    public int ID { get; set; }
    public string Name { get; set; }
    public Order Orders { get; set; }  // what am i called?
}
public class Order
{
    public int ID { get; set; }
    public string SomeProperty { get; set; }
}

当一个类属性是另一个类的实例时,它叫什么

这是一回事。它被称为"财产"。它没有不同的名字。考虑您的SomeProperty类型为 stringstring也是一个类,SomeProperty是它的对象。与您的类相同的约定也将遵循。

来自 C# 语言规范。

1.6.7.2 属性

属性的声明类似于字段,只是声明结束 在 分隔符 { 和 },而不是以分号结尾。

因此,C# 中的术语"属性"与访问器(get/set)相关联。

来自 ECMA-334 8.7.4:

属性是提供对对象或类的特征的访问的成员。

属性访问的类型无关紧要。 该物业本身只是为了提供对它的访问。

因此,最重要的是,无论属性访问哪种类型,它都是属性。

它只是一个属性 - 它没有正式的名称。

这个概念本身被称为组合。 基本上,您希望能够使用 Customer 对象来获取有关订单的信息,但您不希望获取该信息的逻辑存在于 Customer 中。因此,您有一个成员是订单,订单封装了订单行为。

您可以说客户由订单和其他值组成。

有一个链接:http://www.javaworld.com/jw-11-1998/jw-11-techniques.html

不是你问这个,但你可能想要一个实际的订单集合。 你可以从
public List<Order> Orders; <</p>

div class="answers">

它仍然是一个属性。它只是获取/设置一个对象,这是一个类的实例。