Книга: C# для профессионалов. Том II
Свойства класса Employee
Свойства класса Employee
Теперь мы переходим к свойствам Name
и Salary
. Синтаксис C# для объявления свойства существенно отличается от соответствующего синтаксиса VB, но базовые принципы одинаковы. Необходимо определить два метода доступа (accessors) соответственно для "получения" и "задания" значений свойства. В VB они синтаксически интерпретируются как методы, но в C# свойство объявляется в целом, а затем определяются методы доступа внутри определения свойства.
public decimal Salary {
get {
return salary;
}
set {
salary = value;
}
}
В VB компилятор знает, что определяется свойство, так как используется ключевое слово Property
. В C# эта информация передается тем, что за именем свойства немедленно следует открывающая фигурная скобка. Если определяется метод, то это будет открывающая скобка, указывающая начало списка параметров, в то время как для поля это будет точка с запятой, отмечающая конец определения.
Еще один момент, на который необходимо обратить внимание, состоит в том, что определения методов доступа get
и set
не содержат никаких списков параметров, это не важно. Мы знаем, что Salary
является десятичным значением, и метод доступа get
вернет десятичное значение, не используя параметры, в то время как метод доступа set
будет получать один десятичный параметр и возвращать void
. Для процедуры доступа set
этот параметр не объявляется явно, но компилятор всегда интерпретирует слово value как ссылающееся на него.
Здесь снова синтаксис определения свойств показывает, что в случае C# он является более компактным и может облегчить ввод кода.
Так же как в VB, если необходимо сделать свойство предназначенным только для чтения, то просто опускается метод доступа set
, как было сделано для свойства Name
:
public string Name {
get {
return name;
}
}
- Методы класса Employee
- Инкапсуляция на основе свойств класса
- Класс Employee в C#
- Статические свойства
- Модуль класса Employee в VB
- Свойства, доступные только для чтения, и свойства, доступные только для записи
- 11.2. СВОЙСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- 3.4. Отношения между классами
- 4. Свойства унарных операций
- 3. Свойства бинарных операций
- Ключевые свойства форм
- 1.1.5. Свойства и особенности туруслуг и турпродуктов