当一个类属性是另一个类的实例时,它叫什么
本文关键字:实例 什么 另一个 属性 一个 | 更新日期: 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
类型为 string
。 string
也是一个类,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>
它仍然是一个属性。它只是获取/设置一个对象,这是一个类的实例。