OOP nədir?
OOP (Object-Oriented Programming), azərbaycanca Obyekt Yönümlü Proqramlaşdırma (OYP) — proqram kodunu real həyatdakı əşyalara bənzər "obyektlər" ətrafında qurmağa əsaslanan bir proqramlaşdırma paradiqmasıdır (proqramlaşdırma yanaşma tərzidir). Bu yanaşmada proqram bir-birindən ayrı əmrlər ardıcıllığı kimi deyil, öz xüsusiyyətlərinə (data) və davranışlarına (funksiyalara) malik obyektlərin bir-biri ilə qarşılıqlı əlaqəsi kimi təsvir olunur. Java, Python, C++, C# kimi ən populyar proqramlaşdırma dillərinin böyük əksəriyyəti OOP prinsiplərinə əsaslanır.
OOP-nin əsas məqsədləri:
- Real dünyanı koda köçürmək – "avtomobil", "istifadəçi", "məhsul" kimi real əşyaları proqramda obyekt şəklində təsvir etmək.
- Kodun təkrar istifadəsini asanlaşdırmaq – bir dəfə yazılmış "şablonu" (sinifi) dəfələrlə fərqli obyektlər yaratmaq üçün istifadə etmək.
- Kodu daha səliqəli və idarə olunan etmək – böyük proqramları kiçik, müstəqil obyektlərə bölərək anlaşılmasını asanlaşdırmaq.
- Təhlükəsizliyi artırmaq – obyektin daxili məlumatlarını kənar müdaxilədən qorumaq (inkapsulyasiya vasitəsilə).
OOP necə işləyir?
OOP-nin əsasında sinif (class) və obyekt (object) anlayışları dayanır. Sinif — obyektin necə olacağını təsvir edən "çertyoj" və ya şablondur. Obyekt isə həmin şablon əsasında yaradılmış konkret nümunədir.
Məsələn:
"Maşın" adlı bir sinif yaratdıqda, bu sinif maşının ümumi xüsusiyyətlərini (rəngi, sürəti, markası) və davranışlarını (sürətlənmək, dayanmaq) təsvir edir. Bu sinif əsasında "Qırmızı Toyota" və "Göy BMW" kimi konkret obyektlər yaratmaq olar — hər biri eyni şablona əsaslanır, amma öz unikal dəyərlərinə malikdir.
OOP-nin dörd əsas prinsipi:
- İnkapsulyasiya (Encapsulation) – obyektin daxili məlumatlarını gizlədib, ona yalnız müəyyən üsullarla (metodlarla) çıxış icazəsi vermək.
- Varislik (Inheritance) – yeni sinifin mövcud sinifin xüsusiyyətlərini və davranışlarını "miras" olaraq alması, əlavə xüsusiyyətlər qazana bilməsi.
- Polimorfizm (Polymorphism) – eyni adlı metodun fərqli siniflərdə fərqli şəkildə davranmasına imkan vermək.
- Abstraksiya (Abstraction) – mürəkkəb daxili işləmə mexanizmini gizlədib, istifadəçiyə yalnız sadə və vacib funksiyaları göstərmək.
OOP ilə bağlı əsas terminlər:
- Class (Sinif) – obyektlərin yaradılması üçün istifadə olunan şablon və ya çertyoj.
- Object (Obyekt) – sinif əsasında yaradılmış konkret nümunə.
- Method (Metod) – bir obyektin yerinə yetirə bildiyi funksiyadır.
- Constructor (Konstruktor) – yeni obyekt yaradılarkən avtomatik işə düşən, ilkin dəyərləri təyin edən xüsusi metod.
- Attribute / Property (Atribut) – obyektin xüsusiyyətlərini saxlayan dəyişənlər.
OOP-nin faydaları:
- Böyük və mürəkkəb proqram təminatlarını daha səliqəli, modul struktur ilə qurmağa imkan verir
- Kodun təkrar istifadəsi sayəsində eyni işi yenidən yazmağa ehtiyac qalmır
- Komanda ilə iş zamanı hər proqramçı fərqli sinif üzərində müstəqil işləyə bilir
- Real dünya obyektlərini birbaşa koda köçürmək məntiqi düşünməyi asanlaşdırır
- Xəta aşkarlanması və düzəldilməsi (debugging) daha rahat olur, çünki hər obyekt öz məsuliyyət dairəsində fəaliyyət göstərir
Sadə müqayisə:
Təsəvvür edin ki, sinif (class) tort resepti, obyekt isə həmin resept əsasında bişirilmiş konkret tortdur — eyni resept (şablon) əsasında istənilən sayda tort bişirmək olar, hər biri eyni struktura malikdir, amma öz rənginə, ölçüsünə və dadına (öz dəyərlərinə) malikdir.
İstəyirsiniz ki, bu biliyi praktikaya keçirib real nəticələr əldə edəsiniz? IT və Kompüter Mühəndisliyi kursumuzla addım-addım öyrənməyə başlayın. Ətraflı məlumat üçün linkə keçid edin: IT və Kompüter Mühəndisliyi kursu
