答案 0 :(得分:4)
<<property>>
是一个刻板印象(就像<< >>
包含的UML中的大多数内容一样)。在这种情况下,它指示您应为相应命名的类的私有属性实现getter和setter。例如。对于Status
,您将实现getStatus
和setStatus
(或为此目的在目标语言中使用的任何东西)。由于{ readonly }
还有约束Name
,因此您只需实现getName
。您可能不得不猜测该属性的名称为_bookName
。
答案 1 :(得分:1)
由于您将其标记为[C#]
,因此您应该知道属性是C#语言的重要组成部分。类可以具有任何类型的属性。获取器和设置器可以具有不同的访问级别(例如,获取器是公共的,而设置器是私有的)。只读属性(无设置器)和仅写属性(无获取器)可用。如果该属性的定义很简单(getter和setter只需访问一个私有后备字段),则可以使用具有简单,易于表达和理解的语法的自动属性。
class MyClass {
//this is a simple property with a backing field
private int _someInt = 0;
public int SomeInt {
get { return _someInt; }
set { _someInt = value; } //"value" is a keyword meaning the rhs of a property set expression
}
//this is a similar property as an "auto property", the initializer is optional
public int OtherInt { get; set; } = 0;
//this is an auto-property with a public getter, but a protected setter
public string SomeString { get; protected set; }
}
如果省略了setter(或getter),则该属性将变为只读(或只写)。