0 / 0 / 0
Регистрация: 01.08.2015
Сообщений: 104

Наследование и полиморфизм

20.07.2018, 19:43. Показов 3490. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Недавно на собеседовании спросили два таких вопроса, на которые я протупил и до сих пор не пойму ничего:

1. Есть класс А, есть его наследник - класс В. У класса А есть методы m1() и m2(). Класс В переопределяет метод m2() и добавляет к себе метод m3():
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//A.java
public class A {
    void method1() {
        System.out.println("This is a method1");
    }
    
    void method2() {
        System.out.println("This is a method2");
    }
}
 
//B.java
public class B extends A {
    void method2() {
        System.out.println("This is a method2 from B class");
    }
    
    void method3() {
        System.out.println("This is a method3");
    }
}
 
//Coco.java
public class Coco {
    
 
    public static void main(String[] args) {
        A a = new B();
        a.method1();
        a.method2();
        a.method3(); // ошибка компиляции
 
    }
}
Вопрос был такой: что будет при вызове этих методов, как представлено в методе main(). Я не считал себя прям совсем новичком в ООП, но этот вопрос меня смутил. Я начал думать про позднее связывание в полиморфизме и, соответственно, сказал, что с учетом того, что методы non-static будут вызываться методы для объекта типа В. Верный ответ такой, что методы method1() и method2() вызываються, а method3() нет. Я не пойму, почему так? Почему позднее связывание тут не работает?

2. Из этого же первого вопроса: можно ли написать
Java
1
   Object a = new B();
и вызвать таким образом методы?
Я, честно говоря, запутался. Я рассуждал так: раз уж все классы неявно наследники класса Object, то почему бы так и не написать, действительно? В ответ на это меня спросили, а почему мы тогда везде не пишем Object? Почему существуют другие ссылочные типы? В моем примере нельзя писать Object, потому что в этом классе нет этих методов. Верно ведь?

В общем подскажите, какой ответ на эти вопросы. Я вроде понял наследование и полиформизм более-менее, но тут тупик.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.07.2018, 19:43
Ответы с готовыми решениями:

Наследование/Полиморфизм
Есть туристическая фирма, которая была основана в Y году, и организует путешествия в N стран. Про каждую страну сохраняется информация: -...

Наследование и полиморфизм
Народ, помогите пожалуйста не знаю как вывести весь проект на консоль не создан главный класс Main , так как не знаю что туда пихать. Есть...

Наследование/Полиморфизм
Есть туристическая фирма, которая была основана в Y году, и организует путешествия в N стран. Про каждую страну сохраняется информация: -...

21
27.07.2018, 08:59
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от vvm28 Посмотреть сообщение
недопрограммист
очень сильное утверждение, что-то уже было такое в истории германии...
а так, все зависит от конторы.

0
27.07.2018, 09:50

Не по теме:

Цитата Сообщение от vvm28 Посмотреть сообщение
который не прошел и стал хлопушей.
это как?))) просто интересно

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.07.2018, 09:50
Помогаю со студенческими работами здесь

Инкапсуляция, Полиморфизм, Наследование
import java.io.*; import java.util.*; public class Nasledovanie { public static void main(String args) throws Exception{ ...

Java наследование и полиморфизм
Определить иерархию амуниции рыцаря. Экипировать рыцаря. посчитать стоимость амуниции. Провести сортировку амуниции по весу. Найти...

Интерфейсы, наследование и полиморфизм
Доброго времени суток! Помогите, пожалуйста, исправить ошибку. Задание такое:"Реализовать абстрактные классы или интерфейсы, а также...

Про полиморфизм и возможно наследование
У Кея Хорстманна написанно: 5.1.6. Представление о вызовах методов Важно понять, каким образом вызов метода применяется к объекту....

Абстрактные классы, наследование, полиморфизм и интерфесы
Помогите, пожалуйста, решить задание. Реализовать абстрактные классы или интерфейсы, а также наследование и полиморфизм для следующих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

Новые блоги и статьи
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru