25.07.2017 Views

Intro-CSharp-Book-v2015

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Глава 14. Дефиниране на класове 565<br />

[] Get<br />

2. Методът за модификация на стойността на свойство трябва да има<br />

тип на връщаната стойност void, името му да е образувано от името<br />

на свойството с представка Set и типа на единствения аргумент на<br />

метода да бъде идентичен с този на свойството:<br />

[] void Set( par_name)<br />

Ако представим свойството Age на класа Dog в примера, който използвахме<br />

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

би изглеждала по следния начин:<br />

private int age;<br />

public int GetAge()<br />

{<br />

return this.age;<br />

}<br />

public void SetAge(int age)<br />

{<br />

this.age = age;<br />

}<br />

// Field declaration<br />

// Getter declaration<br />

// Setter declaration<br />

Съответно, четенето и модификацията на свойството Age, ще се извършва<br />

чрез извикване на декларираните методи:<br />

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

// ...<br />

// Getter invocations<br />

int dogAge = dogInstance.GetAge();<br />

Console.WriteLine(dogInstance.GetAge());<br />

// Setter invocation<br />

dogInstance.SetAge(3);<br />

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

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

с други езици като Java. Лесно се забелязва, че този начин за декларация<br />

на свойствата е по-трудно четим и по-неестествен в сравнение с първия,<br />

който изложихме. Затова е препоръчително да се използват вградените<br />

средства на езика С# за декларация и използване на свойства.

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

Saved successfully!

Ooh no, something went wrong!