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


Област на действие (scope)



страница9/84
Дата03.01.2022
Размер0.54 Mb.
#112941
ТипПрограма
1   ...   5   6   7   8   9   10   11   12   ...   84
Класове
Свързани:
Изпитна тема1, Изпитна тема2
Област на действие (scope)

Трябва да знаем, че областта на действие (scope) на едно поле е от реда, на който е декларирано, до затварящата фигурна скоба на тялото на класа.

Инициализация по време на деклариране

Когато декларираме едно поле е възможно едновременно с неговата декларация да му дадем първоначална стойност. Начинът, по който става това, е същият както при инициализацията (даването на стойност) на обикновена локална променлива:



[] = ;

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

class SampleClass

{

int age = 5;



long distance = 234; // The literal 234 is of integer type

 

string[] names = new string[] { "Pencho", "Marincho" };



Dog myDog = new Dog();

 

// ... Other code ...



}

Стойности по подразбиране на полетата

Всеки път, когато създаваме нов обект от даден клас, се заделя област в динамичната памет за всяко поле от класа. След като бъде заделена, тази памет се инициализира автоматично с подразби­ращи стойности за кон­кретния тип поле (занулява се). Полетата, които на се инициализират изрично при декларацията на полето или в някой от конструкторите, се зануляват.





При създаване на обект всички негови полета се инициа­лизират с подразбиращите се стойности за типа им, освен ако изрично не бъдат инициализирани.

В някои езици (като C и C++) новозаделените обекти не се инициализи­рат автоматично с нулеви стойности и това създава условия за допускане на трудни за откриване грешки. Появява се синдромът "ама това вчера работеше" – непредвидимо поведение, при което програмата понякога работи коректно (когато заделената памет съдържа по случай­ност благоприятни стойности), а понякога не работи (когато заделената памет съдържа неблагоприятни стойности. В C# и въобще в .NET платформата този проблем е решен чрез автоматичното зануляване на полетата.

Стойността по подразбиране за всички типове е 0 или неин еквивалент. За най-често използваните типове подразбиращите се стойности са както следва:



Тип на поле



Сподели с приятели:
1   ...   5   6   7   8   9   10   11   12   ...   84




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

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