powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Позднее связывание
8 сообщений из 8, страница 1 из 1
Позднее связывание
    #37481595
jab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общемто вопрос из раздела ООП. Тут есть ньюансы непосредственно как это работает в java.
Хотел бы раз и навсегда прояснить для себя этот вопрос.
Правильно ли я вообще понимаю суть вопроса? Допустим имеется у нас некий класс. У него есть потомки с полиморфными функциями. Функции, которые имеют имя аналогичное имени предка, но с своей реализацией. Далее, в коде программы, мы обращаемся к некоторому обьекту и вызываем функцию. При позднем связывании у нас происходит определение, куда именно идти для выполнения функции, в момент вызова функции, а при раннем связывании ставится указатель на этапе компиляции программы. Это правильно вообще? В документациях пишут мол в этом вся фишка, мол тут главное правильно определить куда надо идти т.к. тип обьекта может быть неизвестен изначально или просто будет не полная информация об обьекте. Как-то не совсем прозрачно для понимания. Как может быть обьект неопределен, если мы его явно инициализируем new и указываем что это будет!? Может на примере каком проясните ситуацию?
...
Рейтинг: 0 / 0
Позднее связывание
    #37481605
Фотография pilot911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jab,

если объект вызывает метод из класса-предка, а в этом методе есть обращение к элементу позднего связывания (метод или поле), то сначала будет проверено наличие метода или поля у текущего класса объекта и только потом пойдет поиск по классам-предкам
...
Рейтинг: 0 / 0
Позднее связывание
    #37481640
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В туториале доступно написано:
http://download.oracle.com/javase/tutorial/java/IandI/override.html
И вы примерно правильно поняли.

При чем здесь недоконструированость объекта, я не очень понял.
Но вообще существует ситуация, когда поля инициализированые в месте объявления наблюдаются как null.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Позднее связывание
    #38354919
Horo37
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу спросить у опытных специалистов по поводу одного маленького задания, на которое недавно напоролся...что бы много не говорить ... :
public class Test {
public static void main(String[] s) {
A a = new B();
a.b();
}
}

class A {
void a() {
System.out.println("A-a");
}

void b() {
System.out.println("A-b");
a();
}
}

class B extends A {
void a() {
System.out.println("B-a");
}

void b() {
System.out.println("B-b");
super.b();
}
}

И теперь вопрос : я понимаю почему программа выводит -
B-b
A-b,
но не могу ЧЕТКО для себя уснить логику, что последня строка - B-a???

Буду признателен за исчерпывающий ответ.
...
Рейтинг: 0 / 0
Позднее связывание
    #38354924
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Метод a() виртуальный. Поэтому любой его вызов внутри экземпляра B приводит к вызову B.a(). Экземпляра класса А в этом примере нет.
...
Рейтинг: 0 / 0
Позднее связывание
    #38354926
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczлюбой его вызов внутри экземпляра B
точнее вызов у экземпляра B, а не "внутри"
...
Рейтинг: 0 / 0
Позднее связывание
    #38354958
Horo37
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо большое!
...
Рейтинг: 0 / 0
Позднее связывание
    #38355470
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прикольно. тоже как-то пропустил этот вопрос.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Позднее связывание
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]