Sobes.tech
Junior

'Statik' termini nə deməkdir?

sobes.tech Süni İntellekt

AI-dan cavab

Proqramlaşdırmada "statik" termini müxtəlif anlayışlara istinad edə bilər, amma ən çox vaxt tərtib vaxtı və ya sinfə aid olma ilə əlaqəli olan bir şeyi ifadə edir, konkret obyekt nümunəsinə deyil.

  • Statik Bağlama (Static Binding): Çağırılan funksiyanın tərifi tərtib vaxtında baş verir, icra vaxtında deyil. Bu, dinamik bağlamanın əksidir.
  • Statik Dəyişənlər/Sahələr (Static Variables/Fields): Sinfə aid olan, müəyyən bir obyektə aid olmayan dəyişənlər. Eyni sinifdən olan bütün obyektlər eyni statik dəyişəni paylaşır. Onlar sinif yükləndikdə başlanır və tək nümunədə mövcuddur.
  • Statik Metodlar (Static Methods): Sinfə aid olan, müəyyən obyektə aid olmayan metodlar. Onlar birbaşa sinif adından çağırıla bilər, obyekt yaratmağa ehtiyac yoxdur. Statik metodlar sinifin qeyri-statik sahələrinə daxil ola bilməz, çünki onlar müəyyən nümunəyə bağlı deyil.
  • Statik Kod Analizi (Static Code Analysis): Proqramın mənbə kodunun onun icrasını etmədən analizi. Bu, potensial səhvləri, zəiflikləri və ya kodlama standartlarının pozulmalarını erkən mərhələdə aşkar etmək üçün istifadə olunur.

QA kontekstində, statik analiz və kod testləri prosesin vacib hissələridir və kodun keyfiyyətini dinamik test və icra mərhələsindən əvvəl yaxşılaşdırmağa kömək edir.

Java-da statik sahə və metod nümunəsi:

class Counter {
    static int count = 0; // Statik sahə

    Counter() {
        count++;
    }

    static void displayCount() { // Statik metod
        System.out.println("Nümunələrin sayı: " + count);
    }
}

// İstifadə
// Counter obj1 = new Counter();
// Counter obj2 = new Counter();
// Counter.displayCount(); // Sinif adından istifadə edərək statik metodun çağırılması