![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
как получить "хороший ответ", при том что первые два класса модифивировать нельзя?
Создавать также необходимо экземпляр класса АА, а не А. Наследовать и перегружать тоже не желательно. Хотелось бы обойтись изменениями только в самом мейне. Это сообщение отредактировал(а) v2v - 13.8.2010, 17:02 |
|||
|
||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 5 Всего: 38 |
Привет. А зачем тогда писать так:
-------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| AbdulBcex |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 6.11.2009 Репутация: нет Всего: 1 |
Выбор метода же происходит на этапе работы программы - по типу объекта, который ссылается переменная суперкласса. Или? Это сообщение отредактировал(а) AbdulBcex - 13.8.2010, 16:27 |
|||
|
||||
| Kircul |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 20.2.2007 Репутация: 6 Всего: 7 |
Может так?
|
|||
|
||||
| kemiisto |
|
||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
MisterCleric, вот-вот. Я тоже что-то не догоняю.
Написать
В чём проблема? -------------------- |
||||
|
|||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 5 Всего: 38 |
И действительно нет необходимости модифицировать те два класса. -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Или надо правильно формулировать вопрос - как вызвать метод родителя вместо текущего оверайденного метода
Ну вот такой вариант. Хотя и похоже на то, что было выше с наследованием
|
|||
|
||||
| Kircul |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 20.2.2007 Репутация: 6 Всего: 7 |
AntonSaburov, в вашем случае после вызова a.test(); все же необходимо вернуть состояние обекта (значения полей, которые могли измениться) объекту b.
|
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
all, исправил условия. Создаётся именно объект класса АА, и повлиять на это я никак не могу.
AntonSaburov, твой вариант также не подходит, почему?, смотри исправленный пример: метод а() класса А возвращает некую переменную из родительского класса, метод с таким же именем дочернего классу уже возвращает совсем другое. Добавлено через 1 минуту и 37 секунд пока что я пришёл к выводу что это не возможно |
|||
|
||||
| Kircul |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 20.2.2007 Репутация: 6 Всего: 7 |
v2v, как-то запотанно вы объясняете, не могли бы вы на данном примере пояснить какой ответ вы хотите получить?
good answer или good or bad? |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
Kircul, всё просто, я хочу что бы вызвался метод родительского класса, при условии что такой метод с такой же сигнатурой есть в дочернем.
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
||||
|
||||
| Kircul |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 20.2.2007 Репутация: 6 Всего: 7 |
Учитывая последнее изменение (добавление поля isGoodAnswer) поставленой задачи, можно сделать так:
|
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
Kircul, изменять состояние класса нельзя.
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Вообщем в том виде, который ты хочешь сделать - вызвать метод "дедушки" - невозможно.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |