|
0 / 0 / 0
Регистрация: 22.01.2021
Сообщений: 7
|
|
Перегрузка методов14.02.2021, 17:43. Показов 6712. Ответов 53
Доброго времени суток. Народ, вопрос такой: можно ли private метод базового класса перегрузить public методом производного класса. Ответ нужен с технической точки зрения. Если да, можно ли это проверить (доказать)? Спасибо.
0
|
|
| 14.02.2021, 17:43 | |
|
Ответы с готовыми решениями:
53
Перегрузка методов Перегрузка методов Перегрузка методов |
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 16.02.2021, 13:02 | |
|
0
|
|
| 16.02.2021, 13:24 | |
|
0
|
|
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
||
| 16.02.2021, 13:38 | ||
|
0
|
||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 16.02.2021, 13:46 | |
|
iSmokeJC, ну на самом деле все сложно. Т.е. не на самом деле, а насколько я понимаю )
В памяти объекта родителя и объекта наследника быть не должно. Должен быть один объект наследник, в котором будут все нужные поля из обоих классов. Но вот как там эта видимость проверяется, что-то я не вполне уверен.
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 16.02.2021, 13:52 | |
|
xoraxax, согласен. Возможно, объект таки создается с целью "получить" поля и методы для наследника, а потом грохается, т.к. на него нет ссылок...
Хз
0
|
|
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
|||||||||||||||||||||||||||||
| 16.02.2021, 14:50 | |||||||||||||||||||||||||||||
|
Добавлено через 9 минут
0
|
|||||||||||||||||||||||||||||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 16.02.2021, 14:51 | |
|
О чем я и говорю. Грузятся оба класса. Происходит аллокация для одного объекта, в котором есть все поля из родителей в т.ч. Дальше вызываются конструкторы, которые работают с этим одним объектом.
0
|
|
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
|
| 16.02.2021, 14:56 | |
|
xoraxax, с этим не согласен Arsegg. Он намекает, что на каждого родителя создается свой инстанс и с ним согласен iSmokeJC.
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|||||||
| 16.02.2021, 15:19 | |||||||
0
|
|||||||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
||||||
| 16.02.2021, 15:23 | ||||||
|
вот такое вот выдает jol, например
0
|
||||||
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||
| 16.02.2021, 15:27 | ||
|
/upd Наследник и есть предок. По крайней мере, поведение наследника не должно менять поведение супертипа (Liskov Substitution Principle), т. е. при касте наследника к типу предка - программа не должна ломаться.
0
|
||
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
||
| 16.02.2021, 15:29 | ||
|
0
|
||
| 16.02.2021, 15:37 | |
|
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||
| 16.02.2021, 17:13 | ||
|
Классы и типы — не одно и то же, и нарушить принцип подстановки с помощью переопределения методов можно легко и непринуждённо. К конструкторам же LSP и вовсе никакого отношения не имеет.
0
|
||
| 16.02.2021, 18:38 | |||||
|
Не по теме:
Наследовать от Вороны ( class Raven {}) Стол (class Table extends Raven {}) можно, только возникнут большие вопросы (к написавшему такой "шедевр"). И будут (такие "программисты") потом спрашивать:Although they apply to any object-oriented design)
0
|
|||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||||||
| 16.02.2021, 19:27 | ||||||
|
2
|
||||||
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
||
| 16.02.2021, 20:07 | ||
|
0
|
||
| 16.02.2021, 20:50 | |||||||||
|
Не по теме:
0
|
|||||||||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 16.02.2021, 21:51 | |
|
Так речь не про ооп и солид же, а про то, как работает наследование. С технической стороны никто не помешает мне наследовать ворону от верблюда.
Принципы проектирования сформулировал дядя Боб где-то в начале 2000. Про них он довольно часто рассказывает на своих лекциях, например. Майкл Фезерс придумал саму аббревиатуру. Которая, опять же, не имеет никакого отношения к вопросу. Про то, как выделяется память, почитай мои ответы, но я, естественно, могу заблуждаться, за подробностями - можно попробовать поискать доклад у товарища Шипилева и потыкать его jol, например.
0
|
|
| 16.02.2021, 21:51 | |
|
Перегрузка методов (частный случай) Перегрузка методов и передача аргументов Зачем нужна перегрузка методов? Перегрузка методов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|