1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
|
|
1 | |
Переопределение и перегрузка метода(в чём отличия?)22.03.2017, 13:26. Показов 9198. Ответов 10
Метки нет (Все метки)
Объясните мне в чём различия между Переопределением и перегрузкой метода?? Ведь по сути это одно и тоже так?
И в каких случаях эти способы используется?
0
|
22.03.2017, 13:26 | |
Ответы с готовыми решениями:
10
Перегрузка\переопределение Перегрузка или переопределение? Наследование. Переопределение. Перегрузка Полиморфизм/перегрузка/переопределение |
64 / 64 / 26
Регистрация: 07.01.2016
Сообщений: 374
|
|
22.03.2017, 13:38 | 2 |
это не одно и то же.
переопределение используется при наследовании, перегрузка при полиморфизме.
1
|
143 / 115 / 61
Регистрация: 13.01.2016
Сообщений: 305
|
|||||||||||
22.03.2017, 13:40 | 3 | ||||||||||
Сообщение было отмечено Maxim09 как решение
Решение
Maxim09, При перегрузке Вы определяете несколько методов с одинаковой сигнатурой
1
|
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
|
|
22.03.2017, 13:40 [ТС] | 4 |
Скажите а когда используется полиморфизм(перегрузка) т.е. я думал что полиморфизм используется при наследовании...
0
|
143 / 115 / 61
Регистрация: 13.01.2016
Сообщений: 305
|
|
22.03.2017, 13:50 | 5 |
Maxim09, три кита ООП. Почитайте, к примеру, книгу Кэти Сьерра.
1
|
64 / 64 / 26
Регистрация: 07.01.2016
Сообщений: 374
|
||||||
22.03.2017, 13:59 | 6 | |||||
Maxim09, Представь у тебя три книги, у всех 3 название Алгебра, только одна с текстом, другая с картинками, и 3 с текстом и картинками. Когда я скажу принеси мне книгу Алгебра, что ты спросишь? КАКУЮ.
вот и три метода
1
|
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
|
|
22.03.2017, 14:04 | 7 |
Полиморфизм никак не связан с таким понятием как перегрузка метода, перегрузка, это, как выше уже было сказано (но не совсем верно), - определение нескольких методов с одинаковым именем. Неверность сказанного выше заключается в том, что меняется сигнатура метода за счет изменения количества/типов/порядка параметров метода, но имя остается таким же.
Ну с override'ом все понятно.
0
|
64 / 64 / 26
Регистрация: 07.01.2016
Сообщений: 374
|
|
22.03.2017, 14:11 | 8 |
_ViPeR_,
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
22.03.2017, 14:54 | 9 |
полиморфизм образуется, когда есть наследование
для перегрузки наследование не нужно Добавлено через 32 секунды т.е. ты заблуждаешься
0
|
143 / 115 / 61
Регистрация: 13.01.2016
Сообщений: 305
|
|
22.03.2017, 14:55 | 10 |
_ViPeR_, все верно, я перепутал. В сигнатуру выходят поступающие значения, но не входит типа выходного.
0
|
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
|
||||||
22.03.2017, 15:59 | 11 | |||||
DavidKarchikyan
В предложенном выше вами примере с классом Algebra идет перегрузка конструктора, которая никак не повлияет на поведение объекта этого типа. Но вот если, к примеру, унаследоваться от этого класса (например класс Shmalgebra) и переопределить какой-нибудь метод, а затем:
Я не буду спорить по поводу параметризации, женериков и прочих, уже не относящихся к классическому ООП, фич, поскольку там черта можно такого придумать, что голова лопнет.
0
|
22.03.2017, 15:59 | |
22.03.2017, 15:59 | |
Помогаю со студенческими работами здесь
11
Переопределение метода Переопределение метода Переопределение метода __format__ Переопределение метода GetHashCode() Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |