Sobes.tech
Intern

Obyekt yönümlü proqramlaşdırma (OOP) nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Obyekt yönümlü proqramlaşdırma (OOP) — bu "obyektlər" anlayışına əsaslanan proqramlaşdırma paradigmasıdır; bu obyektlər məlumatlar (adətən atributlar və ya xüsusiyyətlər adlandırılan sahələr şəklində) və kodu (adətən metodlar və ya davranışlar adlandırılan prosedurlar şəklində) ehtiva edə bilər.

OOP-nin əsas prinsipləri:

  1. İnkapsulyasiya: Məlumatlar və bu məlumatlar üzərində işləyən metodların birləşdirilməsi (obyekt). Obyektin daxili vəziyyətini gizlədir və yalnız lazım olan interfeysi açıq edir.
  2. Abstraksiya: Obeyektin əsas xüsusiyyətlərinə diqqət yetirmək, vacib olmayan detalları nəzərə almamaq. Çətin sistemləri sadələşdirilmiş formada təqdim edir.
  3. Miras: Bir sinfin (alt sinf və ya törəmə sinf) başqa sinfin (əsas və ya baza sinfi) xüsusiyyətlərini və metodlarını miras alma mexanizmi. Kodun təkrar istifadəsini təşviq edir.
  4. Polimorfizm: Eyni interfeysi müxtəlif əsas məlumat tipləri üçün istifadə etmək imkanı. Müxtəlif siniflərin obyektləri eyni metod çağırışına fərqli cavab verə bilər, bu onların konkret tipindən asılıdır.

C#-da OOP-nin əlavə anlayışları:

  • Siniflər: Obyektlər yaratmaq üçün şablonlar və ya planlar. Obyektlərin quruluşunu və davranışını müəyyən edir.
  • Obyektlər: Yaddaşda sinif nümunələri.
  • Interfeyslər: Bu interfeysi həyata keçirən sinfin müəyyən etməli olduğu üzvlər (metodlar, xüsusiyyətlər, hadisələr) toplusunu təyin edən müqavilələr. Abstraksiya və çoxsaylı tətbiqlər təmin edir.

OOP-nin üstünlükləri:

  • Kodun təkrar istifadəsi.
  • Daha yaxşı modulyarlıq və kodun təşkili.
  • Böyük sistemlərin baxımı və genişləndirilməsi asanlaşır.
  • Obeyektlər vasitəsilə real dünya ilə daha yaxşı uyğunlaşır.

Nümunə:

// Nümunə sinif
public class Dog
{
    // Sahə (atribut)
    public string Name { get; set; }

    // Metod (davranış)
    public void Bark()
    {
        Console.WriteLine($"{Name} Woof deyir!");
    }
}

// Obeyektin yaradılması və istifadəsi nümunəsi
/*
Dog myDog = new Dog(); // Dog sinifindən obyekt yaradılması
myDog.Name = "Buddy"; // atributun dəyərinin təyin olunması
myDog.Bark(); // metodun çağırılması

Dog anotherDog = new Dog { Name = "Lucy" }; // başqa bir obyektin yaradılması və başlanğıc dəyər verilməsi
anotherDog.Bark();
*/