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


Статичните свойства и ключовата дума this



страница64/84
Дата03.01.2022
Размер0.54 Mb.
#112941
ТипПрограма
1   ...   60   61   62   63   64   65   66   67   ...   84
Класове
Свързани:
Изпитна тема1, Изпитна тема2
Статичните свойства и ключовата дума this

Подобно на статичните методи, в статичните свойства не може да се използва ключовата дума this, тъй като статичното свойство е асоциира­но единствено с класа, и не "разпознава" обектите от даден клас.





В статичните свойства не може да се използва ключовата дума this.

Достъп до статични свойства

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

За да се уверим, нека се опитаме да достъпим свойството Version през променлива от класа SystemInfo:

public static void Main()

{

SystemInfo sysInfoInstance = new SystemInfo();



Console.WriteLine("System version: " +

sysInfoInstance.Version);

}


При опит за компилация на горния код, получаваме следното съобщение за грешка:

Member 'SystemInfo.Version.get' cannot be accessed with an instance reference; qualify it with a type name instead

Съответно, ако се опитаме да достъпим статичните свойства чрез името на класа, кодът се компилира и работи правилно:

public static void Main()

{

// Invocation of static property setter



SystemInfo.Vendor = "Microsoft Corporation";

 

// Invocation of static property getters



Console.WriteLine("System version: " + SystemInfo.Version);

Console.WriteLine("System vendor: " + SystemInfo.Vendor);

}


Кодът се компилира и резултатът от изпълнението му е:

System version: 0.1

System vendor: Microsoft Corporation



Преди да преминем към следващата секция, нека обърнем внимание на отпечатаната стойност на свойството Vendor. Тя е "Microsoft Corpora­tion", въпреки че в класа SystemInfo сме я инициализирали със стой­ността "Microsoft". Това е така, тъй като променихме стойността на свойството Vendor на първия ред от метода Main(), чрез извикване на метода му за модификация.



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

Статични класове

За пълнота трябва да обясним, че можем да декларираме класовете като статични. Подобно на статичните членове, един клас е статичен, когато при декларацията му е използвана ключовата дума static:





Сподели с приятели:
1   ...   60   61   62   63   64   65   66   67   ...   84




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

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