Тема: Полиморфизм (Polymorphism)

Тил: Кыргызча


Түшүнүгү:

Полиморфизм — бул объектке багытталган программалоодо бир эле метод же интерфейс ар кандай түрдө иштей алышы мүмкүн дегенди билдирет. Башкача айтканда, бир эле ысымдагы функциялар ар башкача жүрүм-турум көрсөтөт.


Түрлөрү:


Компиляция учурундагы полиморфизм (Static polymorphism):


Методду ашыкча жүктөө (method overloading)


Аткаруу учурундагы полиморфизм (Dynamic polymorphism):


Методду кайра аныктоо (method overriding)


Мисал (Java тилинде):


java


class Animal {

    public void sound() {

        System.out.println("Жаныбар үн чыгарат");

    }

}


class Dog extends Animal {

    public void sound() {

        System.out.println("Ит үрөт");

    }

}


class Cat extends Animal {

    public void sound() {

        System.out.println("Мышык мияу дейт");

    }

}


public class Test {

    public static void main(String[] args) {

        Animal a1 = new Dog();

        Animal a2 = new Cat();


        a1.sound(); // Ит үрөт

        a2.sound(); // Мышык мияу дейт

    }

}

Түшүндүрмө:

Бул мисалда Animal деген базалык класс бар. Аны Dog жана Cat деген класстар мурастап алышкан. Ар биринде sound() методу өзүнүн түрүнө жараша башкача иштейт. Бул — динамикалык полиморфизм.


Пайдасы:


Код ийкемдүү жана кеңейтүүгө оңой болот


Жаңы класстар кошулганда мурдагы кодду өзгөртүүнүн кажети жок


Интерфейстер менен иштөөнү жеңилдетет

Комментарии