Sobes.tech
Junior — Middle

Kaip Java pasiekiamas polimorfizmo mechanizmas ir kaip jį įgyvendinti kode?

sobes.tech AI

Atsakymas iš AI

Java kalbėje polimorfizmas pasiekiamas per paveldėjimą ir metodų perrašymą, taip pat per sąsajas. Tai leidžia skirtingų klasių objektams reaguoti į tas pačias metodų iškvietimus skirtingai.

Polimorfizmo įgyvendinimo pavyzdys:

class Animal {
    void sound() {
        System.out.println("Kažkoks 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 myDog = new Dog();
        Animal myCat = new Cat();

        myDog.sound(); // Išves: Apsikabinimas
        myCat.sound(); // Išves: Miau
    }
}

Čia, sound() metodas kviečiamas Animal tipo objektuose, tačiau iš tikrųjų vykdoma atitinkama tikrojo objekto klasės įgyvendinimas (Dog arba Cat). Tai yra polimorfizmas — viena sąsaja, daug įgyvendinimų.