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.

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

}<br />

Съответно изходът от изпълнението на примера е:<br />

Dog count is now 3<br />

Константи (constants)<br />

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

с един по-особен вид статични полета.<br />

По подобие на константите от математиката, в C#, могат да се създадат<br />

специални полета на класа, наречени константи. Декларирани и<br />

инициализирани веднъж константите, винаги притежават една и съща<br />

стойност за всички обекти от даден тип.<br />

В C# константите биват два вида:<br />

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

програмата (compile-time константи).<br />

2. Константи, чиято стойност се извлича по време на изпълнение на<br />

програмата (run-time константи).<br />

Константи инициализирани по време на компилация<br />

(compile-time constants)<br />

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

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

[] const ;<br />

Константите, декларирани със запазената дума const, са статични полета.<br />

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

компилатора) употребата на модификатора static:<br />

Въпреки че константите декларирани с модификатор const<br />

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

може да се използва модификаторът static.<br />

Например, ако искаме да декларираме като константа числото "пи", познато<br />

ни от математиката, това може да стане по следния начин:<br />

public const double PI = 3.141592653589793;<br />

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

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

Например, както знаем от математиката, константата "пи" може да бъде<br />

представена като приблизителен резултат от делението на числата 22 и 7:

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

Saved successfully!

Ooh no, something went wrong!