top of page

Class nədir? Niyə istifadə edirik?


Class nədir?


İlk olaraq sual vermək lazımdır ki, class'lar nə işimizə yarayır? Class əslində bir qəlibdir. Fərz edin ki, avtomobil zavodumuz var və bir avtomobil istehsal edirik. Avtomobilin qapısı üzərindən nümunə verəcəm. Biz hər bir avtomobil üçün ayrıca qapı istehsal edə bilərik mi? Xeyr!


Qəlib məntiqi...


İlk öncə istehsal etdiyimiz avtomobilin qapısının bir qəlibini hazırlamalıyıq və həmin qəlibdən istifadə edərək yüzlərlə, hətta minlərlə yeni qapı istehsal edə bilərik. Bu bizim işimizi asanlaşdırar. Proqramlaşdırmada OOP (Object Oriented Programming) bu məsələdə bizim köməyimizə çatır. Daha doğrusu, class'lar.


Class necə yaradılır?


Bir neçə yolla class yaratmaq mümkündür.

  1. Proyektə sağ klik edib -> Add -> New Item seçirik

  2. Proyektə sağ klik edib -> Add -> Class seçirik.

  3. Program class'ının kod blok'undan sonra əlavə bir class yarada bilərik.

Bir class'ı qəlib olaraq görə bilərsiniz. Məsələn müştəri bir insandır elə mi?... Deməli bir insanın adı, soyadı, cinsi və s. kimi məlumatları olacaq. Əgər mən 5 insan üçün bu məlumatları ayrı-ayrı dəyişənlərdə saxlasam, gərək 15 ayrı dəyişən təyin edəm. Ancaq Class'la bir qəlib yaradıb həmin qəlibdən yeni müştərilər yarada bilirəm. Necə ki, bir avtomobil istehsal edəndə onun qapısının dəmirinin hamısında eyni olması üçün bir qəlib hazırlanır. Bir class'ın içində dəyişən yox property və field'lar yaradırıq.


public class Person {
    public int Id; //bu bir field'dır
    public string Name;
    public string Surname { get; set; } //bu bir Property'dir
    
    public Person(){
    
    }
}

Person customer = new Person();

Hər-hansısa bir yerdə Person class'ının instance'ını yaradan zaman new Customer'dən sonra mö'tərizələr qoyanda əslində nə baş verir bilirsiniz? Mö'tərizələr əslində deyir ki, bir Customer tipində default property dəyərlərlə bir obyekt yarat. Tam bu anda əslində işə düşən bir methodumuz var. Bu methodun da adı Constructor, yəni konstruktiv method'dur.


Person class'ının instance'ını yaratdığımız yerdə, Person'dan sonra mö'tərizələr qoyan zaman default property dəyərlərilə bir obyekt yaradır dedikdə onu nəzərdə tuturam ki, yəni class'da olan property və field'ların data type'larının default dəyərlərinə əsasən bir dəyər set edir. İndi biz o default dəyərləri constructor methodlar sayəsində necə dəyişə bilərik ona baxaq. Məsələn mən istəyirəm ki, Name və Surname property dəyərləri null yaranmaqdansa, əvəzinə default bir dəyərlə yaransın. Bunun üçün constructor (qurucu) method daxilində Name və Surname property'lərini set etməliyəm.


public Person(string name, string surname) {
    this.Name = name;
    this.Surname = surname;
}

Əslində burada this istifadə etməsək də olar. Çünki, property və parameter adlarımız eyni deyil. Bu case'i özünüz çözməyə çalışın.


Kodla bağlı hər-hansısa çətinliyiniz yaranarsa müraciət edib kömək istəyə bilərsiniz :)

 

Proqramlaşdırma'ya yeni başlayırsınızsa və ya proqramlaşdırma kursları axtarırsınızsa, bizə müraciət edə bilərsiniz.

Recent Posts

See All
bottom of page