Да си припомним: какво са класовете и обектите?


Представяне на свойство без декларация на поле



страница34/84
Дата03.01.2022
Размер0.54 Mb.
#112941
ТипПрограма
1   ...   30   31   32   33   34   35   36   37   ...   84
Класове
Свързани:
Изпитна тема1, Изпитна тема2
Представяне на свойство без декларация на поле

Нека разгледаме един пример, в който свойството не се пази нито в поле, нито някъде другаде, а се преизчислява при опит за достъп до него.

Нека имаме клас Rectangle, който представя геометричната фигура пра­воъ­гъл­ник. Съответно този клас има две полета – за ширина width и дължина height. Нека нашия клас има и още едно свойство – лице (area). Тъй като винаги чрез дължината и ширината на правоъгълника можем да намерим стойността на свойството "лице", не е нужно да имаме отделно поле в класа, за да пазим тази стойност. По тази причина, можем да си декларираме просто един метод за получаване на лицето, в който пресмятаме формулата за лице на правоъгълник:

Rectangle.cs

using System;

 

class Rectangle



{

private float height;

private float width;

 

public Rectangle(float height, float width)



{

this.height = height;

this.width = width;

}

 



// Obtaining the value of the property area

public float Area

{

get { return this.height * this.width; }



}

}


Както ще видим след малко, не е задължително едно свойство да има едновременно методи за модификация и за четене на стойността. Затова е позволено да декларираме само метод за четене на свойството Area на правоъгълника. Няма смисъл от метод, който модифицира стойността на лицето на един правоъгълник, тъй като то е винаги едно и също при определена дължина на страните.

Деклариране на свойства в C#

За да декларираме едно свойство в C#, трябва да декларираме методи за достъп (за четене и промяна) на съответното свойство и да решим по какъв начин ще съхраняваме ин­фор­ма­цията за това свойство в класа.

Преди да декларираме методите обаче, трябва да декларираме самото свойството в класа. Формално декларацията на свойствата изглежда по следния начин:





Сподели с приятели:
1   ...   30   31   32   33   34   35   36   37   ...   84




©obuch.info 2024
отнасят до администрацията

    Начална страница