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:
- İ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.
- İ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.
- 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.
- 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ə.