Какие элементы языка программирования C# можно объявлять статическими? 3


Можно ли объявить скрытый (private) статический член в некотором классе?



Download 76,35 Kb.
bet6/13
Sana25.02.2022
Hajmi76,35 Kb.
#283064
TuriПрограмма
1   2   3   4   5   6   7   8   9   ...   13
Bog'liq
Аббосова Сарвиноз оригинал №1

Можно ли объявить скрытый (private) статический член в некотором классе?


Да можно. В этом случае этот статический член класса будет доступным только в границах этого класса, то есть из методов этого класса. Доступ из методов других классов будет невозможен.


Можно ли объявлять статический член класса с модификатором доступа protected?


Да можно. В этом случае, доступ к статического члену класса будут иметь методы класса, которые унаследованы от данного класса.


Например. Задан класс A, содержащий один статический член a, который объявлен как protected. Также задан класс B, который наследует (расширяет) класс A. Из метода SomeMethod() класса B осуществляется доступ к protected-переменной класса A.
// нестатический класс, который содержит нестатический и статический методы
class A
{
protected static int a;
}
// класс B наследует (расширяет) класс A
class B : A
{
void SomeMethod()
{
a = 10; // доступ к protected-переменной класса A
}
}

10. Может ли нестатический класс содержать статические переменные и статические методы?


Да может. Примеры использования статических методов в нестатическом классе приведены в пунктах 5 и 7.


Можно ли объединять статические и нестатические методы в одном классе?


Да, можно. Но только в нестатическом классе. Если класс объявлен как статический, то все методы и переменные класса должны быть также статическими (см. п. 4 — Пример 2).


Например. Пример демонстрирует объединение статического и нестатического методов класса для доступа к скрытой статической переменной t в классе. Объявляется нестатический класс CMyClass, содержащий статическую переменную, статический и нестатический методы доступа к ней.
// нестатический класс
class CMyClass
{
// статическая переменная, объявленная как private
private static int t;
// статический метод, который изменяет значение статической переменной t
public static void Set(int _t)
{
t = _t;
}
// нестатический метод, который читает значение статической переменной t
public int Get() { return t; }
}
В нижеследующем коде продемонстрирован доступ к скрытой статической переменной t класса CMyClass
// демонстрация объединения статических и нестатических членов класса
int x;
// 1. Доступ к скрытой (private) статической переменной через статический метод Set
CMyClass.Set(777); // статическая переменная t = 777
// 2. Прочитать значение скрытой (private) статической переменной t
// 2.1. Создать объект класса
CMyClass mc = new CMyClass();
// 2.2. Вызвать нестатический метод Get() через экземпляр класса
x = mc.Get(); // x = 777 - текущее значение статической переменной
Данный пример хорошо демонстрирует, как можно организовать работу с общими, скрытыми данными класса.

Download 76,35 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   13




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish