25.07.2017 Views

Intro-CSharp-Book-v2015

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

562 Въведение в програмирането със C#<br />

резултат от този метод, трябва да е същият както типa <br />

описан в декларацията на свойството.<br />

Въпреки че по-рано в тази секция срещнахме доста примери на декларирани<br />

свойства с метод за четене на стойността им, нека разгледаме още<br />

един пример за свойството "възраст" (Age), което е от тип int и е<br />

декларирано чрез поле в същия клас:<br />

private int age;<br />

// Field declaration<br />

public int Age<br />

// Property declaration<br />

{<br />

get { return this.age; } // Getter declaration<br />

}<br />

Извикване на метод за четене на стойността на свойство<br />

Ако допуснем, че свойството Age от последния пример е декларирано в клас<br />

от тип Dog, извикването на метода за четене на стойността на свойството,<br />

става чрез точкова нотация, приложена към променлива от типа, в чийто<br />

клас е декларирано свойството:<br />

Dog dogInstance = new Dog();<br />

// ...<br />

int dogAge = dogInstance.Age;<br />

// Getter invocation<br />

Console.WriteLine(dogInstance.Age); // Getter invocation<br />

Последните два реда от примера показват, че достъпвайки чрез точкова<br />

нотация името на свойството, автоматично се извиква неговият getter метод<br />

(методът за четене на стойността му).<br />

Метод за промяна на стойността на свойство (setter)<br />

По подобие на метода за четене на стойността на едно свойство, може да<br />

се декларира и метод за промяна (модификация) на стойността на<br />

едно свойство (в литературата наричан още setter). Той се декларира в<br />

тялото на свойството с тип на връщана стойност void и в него подадената<br />

при присвояването стойност е достъпна през неявен параметър value.<br />

Декларацията се прави в тялото на свойството, като за целта трябва да се<br />

спазва следният синтаксис:<br />

set { }<br />

Съдържанието на блока ограден от фигурните скоби () е<br />

подобно на съдържанието, на произволен метод. В него се декларират<br />

действията, които трябва да се извършат за промяна на стойността на<br />

свойството. Този метод използва неявен параметър, наречен value, който е<br />

предоставен от С# по подразбиране и който съдържа новата стойност на<br />

свойството. Той е от същия тип, от който е свойството.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!