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

时间:2013-10-03 19:01:26

标签: c# asp.net

此处非常基本的问题,请查看我的客户类中的订单。想知道这样的属性类型的正式名称是什么(是的,这也可以是列表)。

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; }
}

5 个答案:

答案 0 :(得分:4)

同样的事情。它被称为“财产”。它没有不同的名称。考虑SomeProperty类型为string的{​​{1}}。 string也是一个类,SomeProperty是它的对象。您的课程也遵循相同的惯例。

来自C# Language Specification.

  

1.6.7.2属性

     

属性声明为字段,但声明结束   使用get访问器和/或设置访问器之间   分隔符{和}而不是以分号结尾。

因此C#中的术语“属性”与访问者(获取/设置)

相关联

答案 1 :(得分:2)

来自ECMA-334 8.7.4:

  

属性是一个成员,可以访问对象或类的特征。

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

所以,底线,无论它访问什么类型,属性都是属性。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

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

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

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

答案 4 :(得分:0)

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