Sobes.tech
Junior — Middle

Ar galite paaiškinti polimorfizmo sampratą objektinio programavimo srityje?

sobes.tech AI

Atsakymas iš AI

Objektų orientuoto programavimo polimorfizmas yra gebėjimas objektų iš skirtingų klasių reaguoti į tas pačias žinutes (metodų iškvietimus) skirtingai. Tai leidžia naudoti vieną sąsają darbui su skirtingų tipų objektais.

Pavyzdys Java kalba:

class Animal {
    void sound() {
        System.out.println("Koks nors garsas");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Apsikabinimas");
    }
}

class Cat extends Animal {
    @Override
    void sound() {
        System.out.println("Miau");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal a1 = new Dog();
        Animal a2 = new Cat();
        a1.sound(); // Išves: Apsikabinimas
        a2.sound(); // Išves: Miau
    }
}

Čia sound() metodas kviečiamas objektuose, kurių tipas yra Animal, tačiau elgsena priklauso nuo konkrečios pogrupio — tai yra polimorfizmo pavyzdys.