Sobes.tech
Junior

Java'da ob'ektga yo'naltirilgan dasturlash (OOP) nima?

sobes.tech AI

AIdan javob

Java-da obyekt-yönümlü proqramlaşdırma "obyektlər" konsepsiyasına əsaslanan paradigmadır; bu obyektlər məlumatlar (xüsusiyyətlər) və metodlar (fəaliyyətlər) ehtiva edir.

Java-da OOP-nin əsas prinsipləri:

  1. İnkapsulyasiya: Məlumatların və metodların obyekt daxilində gizlədilməsi, onlara yalnız müəyyən interfeyslər vasitəsilə daxil olmaq mümkündür. Bu, məlumatların təhlükəsizliyini və modullluğu təmin edir.
  2. İrsi alınma: Mövcud siniflərdən (üst siniflər) yeni siniflər (alt siniflər) yaratmağa imkan verir; bu, kodun təkrar istifadəsini təşviq edir.
  3. Polimorfizm: Müxtəlif siniflərin obyektlərindən eyni interfeys vasitəsilə istifadə etməyə imkan verir. Bu, elastiklik və genişləndirmə təmin edir. Kompilyasiya vaxtı polimorfizm (metodların yüklənməsi) və icra vaxtı polimorfizm (metodların üst-üstə düşməsi) arasında fərq var.
  4. Abstraksiya: Obeyektin əsas xüsusiyyətlərini vurğulamaq və qeyri-əsas detalları gizlətmək. Bu, mürəkkəb sistemləri sadələşdirməyə kömək edir.

Java-da sinif nümunəsi:

public class Car {
    private String marka; // İnkapsulyasiya olunmuş xüsusiyyət
    private String model;
    private int il;

    public Car(String marka, String model, int il) { // Konstruktor
        this.marka = marka;
        this.model = model;
        this.il = il;
    }

    public void displayInfo() { // Metod
        System.out.println("Marka: " + marka + ", Model: " + model + ", İl: " + il);
    }

    // Getter və setterlər (xüsusiyyətlərə giriş üçün)
    public String getMarka() {
        return marka;
    }

    public void setMarka(String marka) {
        this.marka = marka;
    }
}

OOP prinsiplərinin istifadəsinə nümunə:

// İrsi alınma
public class ElectricCar extends Car {
    private int batareyaGücü;

    public ElectricCar(String marka, String model, int il, int batareyaGücü) {
        super(marka, model, il); // Üst sinifin konstruktoruna çağırış
        this.batareyaGücü = batareyaGücü;
    }

    @Override // Polimorfizm (metodun üst-üstə düşməsi)
    public void displayInfo() {
        super.displayInfo(); // Üst sinifin metodunu çağır
        System.out.println("Batareya Gücü: " + batareyaGücü + " kWh");
    }
}

// Obyektlərin istifadəsi
public class Main {
    public static void main(String[] args) {
        Car mənimMaşım = new Car("Toyota", "Camry", 2020);
        Car mənimElektrikliMaşım = new ElectricCar("Tesla", "Model 3", 2022, 75);

        mənimMaşım.displayInfo();
        mənimElektrikliMaşım.displayInfo(); // Polimorfizm fəaliyyətdə
    }
}

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

  • Kodun təkrar istifadəsi: İrsi alınma vasitəsilə.
  • Təmirin asanlığı: Dəyişikliklər yalnız konkret obyektlərə və ya siniflərə təsir edir.
  • Elastiklik və genişləndirmə: Polimorfizm sayəsində.
  • Kodun daha yaxşı təşkili: Sistemi modullara (obyektlərə) bölmək.
  • Məlumatların təhlükəsizliyi: İnkapsulyasiya vasitəsilə.