JavaRush /Java блог /Random UA /Поліморфізм на співбесіді
glu4it
25 рівень
Харьков

Поліморфізм на співбесіді

Стаття з групи Random UA
Здрастуйте, шановні джаварашівці. Напевно, кожному, хто був на співбесіді ставабо питання про поліморфізм. Так ось, цікавить вашу відповідь та оцінка вашої відповіді від інтерв'юера. У мене було дві міні-співбесіди, на яких питали про поліморфізм і на кожному з них інтерв'єр був не в захваті від моєї відповіді. Якщо коротко, то моя відповідь зводилася до оверрайдингу та присвоєння заслання батьківського класу об'єкт дочірнього класу. Якось так:
Поліморфізм на співбесіді - 1
class Parent{
    void saySomething(){
        System.out.println("Parent!");
    }
}
class Child1 extends Parent{
    @Override
    void saySomething(){
        System.out.println("Child1!");
    }
}

class Child2 extends Parent{
    @Override
    void saySomething(){
        System.out.println("Child2!");
    }
}

class Test{
    public static void main(String[] args){
        Parent p1 = new Parent();
        Parent p2 = new Child1();
        Parent p3 = new Child2();
        p1.saySomething();
        p2.saySomething();
        p3.saySomething();
    }
}
---------------
Output:
Parent!
Child1!
Child2!
На сайті Oracle все приблизно так і написано. Іван Головач каже, що поліморфізм у Java реалізований за допомогою успадкування (те, що я показав у прикладі) та за допомогою дженериків. Так ось, де ж істина і як відповідати на співбесіді? Невдовзі на мене чекає важлива співбесіда і не хочеться знову облаштуватися на цьому, здавалося б, елементарному питанні.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ