Sobes.tech
Junior — Middle

Чӣ гуна идеяҳои асосии барномасозии объектӣ дар Java амалӣ мешаванд?

sobes.tech AI

Ҷавоб аз AI

Дар Java асосҳои принсипҳои объектӣ-ба равона кардани барномасозӣ (OOP) ба тариқи зерин амалӣ мешаванд:

  • Инкапсулятсия: бо ёрии модификаторҳои дастрасӣ (private, protected, public) ба даст меояд, ки дастрасиро ба майдонҳо ва методҳои синф маҳдуд мекунанд. Одатан, майдонҳоро private мекунанд ва дастрасиро тавассути getter ва setter таъмин мекунанд.

  • Мирас: бо калиди калидии extends амалӣ мешавад. Имкон медиҳад, ки синфи навро аз асосӣ сохта, хусусиятҳо ва методҳои онро мерос гирад.

  • Полиформизм: тавассути навиштани дубора (override) методҳо ва истифодаи интерфейсҳо ба даст меояд. Имкон медиҳад, ки объектҳои синфҳои гуногун ба таври якхела тавассути интерфейси умумӣ ё синфи асосӣ коркард шаванд.

  • Абстраксия: бо ёрии синфҳои абстрактӣ (abstract class) ва интерфейсҳо (interface) амалӣ мешавад, ки шартномаи умумиро бе иҷрои мушаххас муайян мекунанд.

Масалан:

public abstract class Animal {
    public abstract void sound();
}

public class Dog extends Animal {
    @Override
    public void sound() {
        System.out.println("Гав-гав");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal dog = new Dog();
        dog.sound(); // Полиформизм: фаро хондани усули синфи мушаххас тавассути истинод ба синфи асосӣ
    }
}