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


Какие преимущества применения статических классов, методов и переменных в программах на C#?



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

Какие преимущества применения статических классов, методов и переменных в программах на C#?


Статические классы, методы и переменные эффективны в следующих случаях:



  • если нужно создать так называемые методы расширения. Методы расширения используются для расширения функций класса. Эти методы являются статическими;

  • если в программе есть некоторый общий ресурс, к которому могут иметь обращение методы разных классов что обрабатывают данный ресурс (читают или изменяют его значение). Этот общий ресурс объявляется как статическая переменная. Например, таким ресурсом может быть некоторый счетчик вызовов, метод что реализует уникальную обработку, уникальная файловая переменная (ресурс) и т.п.;

  • статические классы являются эффективными, когда нужно объединить между собой группы статических методов;

  • если нужно использовать общие скрытые (private) данные класса и организовывать доступ к этим данным из статических и нестатических методов.

Чем отличается вызов статического метода от нестатического?


В любом нестатическом классе могут быть объявлены как статические методы, так и нестатические. Отличие между вызовом статического и нестатического метода класса состоит в следующем:



  • чтобы вызвать нестатический метод класса, нужно создать экземпляр (объект) этого класса. Статический метод вызывается без создания объекта класса – перед именем метода указывается имя класса, в котором этот статический метод объявлен.

Например. Задан нестатический класс Sqr, содержащий следующие два метода, которые возвращают квадрат целочисленного значения:

  • GetSqr() – нестатический метод;

  • GetSqrStatic() – статический метод.

// нестатический класс, который содержит нестатический и статический методы
class Sqr
{
// нестатический метод
public int GetSqr(int x)
{
return x * x;
}
// статический метод
public static int GetSqrStatic(int x)
{
return x * x;
}
}
Ниже демонстрируется вызов и использование этих методов:
// Демонстрация вызова статического и нестатического методов класса
int t;
// 1. Вызов нестатического метода класса Sqr
// Нужно создать объект класса
Sqr sc = new Sqr();
t = sc.GetSqr(7); // t = 49
// 2. Вызов статического метода класса Sqr
t = Sqr.GetSqrStatic(7); // t = 49
Как видно из вышеприведенного кода, чтобы вызвать статический метод некоторого класса, перед его именем нужно указать имя этого класса.

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 ©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