Sinfdan tashqarida static turdagi a'zodan foydalanish uchun ushbu sinfning nomini nuqta-operatiri bilan ko'rsatish kifoya. Buning uchun ob'ekt yaratish kerak emas. Aslida, static a'zosi ob'ekt nusxasiga ko`rsatkich bilan emas, balki uning sinf nomi bilan foydalaniladi. Shunday qilib, agar Timer sinfining static a`zosi bo`lgan count o`zgaruvchiga 10 qiymatni bermoqchi bo`lsak, quyidagi qatordan foydalanishimiz mumkin
Timer.count =10;
Ushbu shakl ob'ekt orqali an'anaviy nusxadagi o'zgaruvchilarga kirish uchun ishlatiladi, lekin u ob'ekt emas, balki sinf nomini ko'rsatadi. Xuddi shunday, static turili metodlarni chaqirish mumkin, unda sinf nomi va nuqta-operatori yordamidan foydalaniladi.
static deb e'lon qilingan o'zgaruvchilar asosan globaldir. Ob'ektlar o'z sinfida static e'lon qilingandan keyin bu o'zgaruvchining nusxasi yaratilmaydi. Buning o'rniga, sinfning barcha nusxalari bir xil static turidagi o'zgaruvchilar qo`llaniladi. Bunda o`zgaruvchi sinfda foydalanishdan oldin initsalizatsiya qilinadi. Uning initializatori aniq ko'rsatilmagan bo'lsa, u agar sonli ma'lumot tipiga tegishli bo'lsa nol qiymat bilan boshlanadi, ko`rsatgich tipida bo'lsa, bo'sh qiymat mantiqiy tipda bo`lsa, false qiymat qabul qiladi. Shunday qilib, static turdagi o'zgaruvchilar har doim qandaydir qiymatga ega.
static turli metod an'anaviy metoddan farqi, u sinf ob'ekti nusxasini yaratmasdan sinf nomi bilan chaqirilishi mumkin. Bunday chaqiruvning namunasi ilgari berilgan. C# tilining standart sinf kutubxonasidan System.Math sinfiga tegishli bo'lgan Sqrt() static metodi edi
Quyida static metod va o'zgaruvchilarni e`lon qilishga doir dasturning misoli.
// Static modifikatordan foydalanish.
using System;
Do'stlaringiz bilan baham: |