![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| mbasil |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 2 Всего: 13 |
Господа, здесь работает перегрузка, а не полиморфизм.
Право - даже странно, что Вы пытаетесь применить полиморфизм к данному случаю. |
|||
|
||||
| pompei |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 7.9.2007 Репутация: 1 Всего: 6 |
Логика простая - пусть дочерний класс сколько хочет, столько и расширяет базовый, но только так, чтобы не запутать пользователя. А запрещать компилировать класс Test нельзя, потому что он может быть в другом, уже откомпилированном пакете, и откомпилировать его мог кто-нибудь другой. А Вы вдруг ему из будущего запрещаете компилировать. Нарушаются базовые причинно-следственные связи! Добавлено через 9 минут и 48 секунд
А да точно, Вы правы. Я почемуто не заметил. Я думал под словом полиморфизм, слово перегрузка. ЗЫ. Я вообще щитаю, что термин "перегрузка" не правильно придумали. Под словом "перегружать" ассоциируется что-то, что нужно заменить, чтобы старое определение изчезло, ну или что-то в этом духе. Можно былобы термин "перегрузить" сделать синонимом к термину "переопределить реализацию базового метода в доченем классе". А вместо "перегруженный метод" говорить "одноимённый метод" - сразу всё чётко ясно и понятно становиться. После таких рассуждений я начинаю понимать зачем появился язык Эспиранто" --------------------
А всё оказывается гораздо проще: пассивные наноструктуры - активные наноструктуры - системы наносистем - молекулярные наносистемы - сингулярность! По пять лет на каждый этап. |
|||
|
||||
| nornad |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Логика не такая уж и простая. При ней надо запрещать такое:
И что мы тогда получаем? В случае, если нам требуется различный код обработки различных объектов, придётся писать if по instanceof. Имхо, различные методы в данном случае удобнее.
Другой пакет в таком случае не мог быть откомпилирован. Если же класс был изменён - перестаём компилировать Test по уже названной причине и отрываем ноги такому "изменятелю". Лучше сразу по самую шею. Нефиг нарушать свои же принцыпы - "но только так, чтобы не запутать пользователя". Нефиг вызывать то, чего нет. Пытаешься - по кумполу и в канаву. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
||||||
|
|||||||
![]()
|
| Правила форума "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. |