Sobes.tech
Junior — Middle

Оё метавон гуфт, ки меросхурӣ дар татбиқи полиморфизм дар барномасозии объектӣ мусоидат мекунад?

sobes.tech AI

Ҷавоб аз AI

Бале, меросхӯрӣ яке аз механизмҳои калидӣ мебошад, ки ба иҷрои полиморфизм дар барномасозии объектӣ кӯмак мекунад. Полиморфизм имкон медиҳад, ки объектҳои класи гуногун тавассути интерфейси умумӣ коркард шаванд, ва меросхӯрӣ имкон медиҳад, ки ҳиерархияҳои класиҳо созанд, ки дар он зеркласаҳо метавонанд усулҳои класи асосиро иваз кунанд.

Масалан, агар класи асосии Ҳайвонот бо усули даро дошта бошад, ва зеркласаҳои Саг ва Маска ин усулро иваз кунанд, пас бо объектҳои ин класиҳо тавассути истинод ба класи асосӣ кор кардан мумкин аст ва усули даро-ро даъват кардан, ки рафторҳои гуногунро ба даст меорад:

class Ҳайвонот {
    void даро() {
        System.out.println("Як садо");
    }
}

class Саг extends Ҳайвонот {
    @Override
    void даро() {
        System.out.println("Хурра");
    }
}

class Маска extends Ҳайвонот {
    @Override
    void даро() {
        System.out.println("Мяу");
    }
}

// Истифода
Ҳайвонот ҳ = new Саг();
ҳ.даро(); // Мебарояд "Хурра"