|
6 / 6 / 3
Регистрация: 20.04.2013
Сообщений: 77
|
||||||
Пути решения наследования08.07.2013, 14:32. Показов 1836. Ответов 27
Метки нет (Все метки)
Здравствуйте! Помогите мне решить такую проблему. Из главного класса я хочу использовать какое то свойство в дочернем, но в итоге ничего не получается. И самое главное можно это решить без конструктора? Вот простой пример:
0
|
||||||
| 08.07.2013, 14:32 | |
|
Ответы с готовыми решениями:
27
База данных в программе: какие пути решения? Qrc - out of memory. Пути решения? Укажите ошибки и пути их решения |
|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
|
| 08.07.2013, 14:42 | |
|
хрень какая-то.
А без конструктора можно(точнее нужно),если класс static.
0
|
|
|
25 / 25 / 4
Регистрация: 01.07.2013
Сообщений: 53
|
|||||||||||
| 08.07.2013, 14:51 | |||||||||||
|
Я человек начинающий, но как могу помогу.
1. В твоём примере нет вызова метода из родительского класса. Свойство х - автоматически является и свойством дочернего класса. 2. base нужно исспользовать если ты перегружаешь метод из родительского класса в дочернем, для вызова "родительской" версии. В твоём примере перегрузки нет 3.
результат 20 получается потому, что при создание объекта х1, его свойство х инициализируется 0.
1
|
|||||||||||
|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
|
| 08.07.2013, 14:57 | |
|
_shtaket, Вы не правильно поняли про наследование:что это такое и с чем его едят.Я хотел,чтобы Вы сами разобрались(т.к. это важная тема),но увы..Совет-читайте внимательнее..
0
|
|
|
6 / 6 / 3
Регистрация: 20.04.2013
Сообщений: 77
|
||||||
| 08.07.2013, 16:11 [ТС] | ||||||
|
Vtiratelj, Я вот не совсем понял... вы сказали что у меня нет перегрузки base? но я ее использую вот в этой строке
0
|
||||||
|
|
||||||
| 08.07.2013, 16:27 | ||||||
|
Да там вообще слово base не нужно, свойство и так доступно.
Добавлено через 2 минуты Ты используешь в классе наследнике свойство дочернего класса. И что у тебя не получается? Запустил у себя твой код, всё работает как надо. Добавлено через 1 минуту
0
|
||||||
|
25 / 25 / 4
Регистрация: 01.07.2013
Сообщений: 53
|
|||||||
| 08.07.2013, 16:29 | |||||||
|
сделай так и попробуй понять, что произошло
1
|
|||||||
|
|
|
| 08.07.2013, 16:32 | |
|
t1 и t2 это 2 разных объекта и у них у каждого свои свойства. У t1 свойство X имеет значение 100, у второго объекта X = 0, а на экран выводится 20, потому что так задумано.
Добавлено через 26 секунд Надо было ещё и классы назвать X Добавлено через 7 секунд И метод тоже Добавлено через 1 минуту И ник ещё
0
|
|
|
6 / 6 / 3
Регистрация: 20.04.2013
Сообщений: 77
|
|
| 08.07.2013, 16:40 [ТС] | |
|
Vtiratelj, Ну я понимаю почему так работает. Я просто не совсем понимаю почему свойство определяется как свойство дочернего класса.
Добавлено через 3 минуты Casper-SC, Вот почему у класса test2 тоже есть свойство Х? если я его не создавал... Добавлено через 1 минуту Casper-SC, И вот в твоем примере тоже получается 20
0
|
|
|
|
|
| 08.07.2013, 16:47 | |
|
Потому что Test2 это наследник класса Test1. Сами классы это шаблоны, по которым создаются объекты в памяти. Представь чертёж одноэтажного дома Test1, потом этот чертёж дополняют и дорисовывают второй этаж и называют его Test2. Потом по шаблону Test2 строят дом и у него же будет тоже первый этаж (свойство X), так и тут.
Добавлено через 1 минуту Унаследовать от Test1 это распечатать копию чертежа с одним этажём и дорисовать в него дополнения.
1
|
|
|
6 / 6 / 3
Регистрация: 20.04.2013
Сообщений: 77
|
||
| 08.07.2013, 16:51 [ТС] | ||
|
Casper-SC, Толково объяснил
Вот можешь мне помочь... Как сделать так что бы я свойства мог использовать в других классах с значениям которое я задаю заранееДобавлено через 1 минуту
0
|
||
|
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
|
||
| 08.07.2013, 16:55 | ||
)
0
|
||
|
|
|||||||
| 08.07.2013, 16:57 | |||||||
Чуть изменил код
0
|
|||||||
|
6 / 6 / 3
Регистрация: 20.04.2013
Сообщений: 77
|
|
| 08.07.2013, 16:59 [ТС] | |
|
Casper-SC, Наверное просьбу я не совсем правильно сформулировал, задавать за ранее я имел виду в Маине
0
|
|
|
|
|||||||
| 08.07.2013, 17:05 | |||||||
1
|
|||||||
|
6 / 6 / 3
Регистрация: 20.04.2013
Сообщений: 77
|
|
| 08.07.2013, 17:08 [ТС] | |
|
Casper-SC, Ну по сути не совсем то что я искал. Все равно вам спасибо
0
|
|
|
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
|
||
| 08.07.2013, 17:32 | ||
|
Класс - это макет, шаблон будущего объекта. Класс указывает, какие "руки" и "ноги" будут у будущего объекта. Как этот объект будет работать. Проведем аналогию: Можно создать чертеж трактора. Чертеж №1. На основании его создадут реальный трактор . Трактор №1. Далее, взяли Чертеж №1 и добавили в него новые свойства и функции. Получили Чертеж №2. Теперь можно создавать оба трактора по желанию. Трактор №1 на основании Чертеж №1 или Трактор №2 на основании Чертеж №2. (Вот, почему в вашем классе Test2 и соответственно его объекте test2 тоже есть свойство X, унаследованное от класса Test1 ) Можно на основании Чертеж №1 так же создать другой Чертеж №3. А можно на основании Чертеж №2 создать Чертеж №4 Соответственно и создавать в чем то разные трактора а в чем то и похожие (унаследованные свойства).
1
|
||
|
6 / 6 / 3
Регистрация: 20.04.2013
Сообщений: 77
|
|
| 08.07.2013, 17:55 [ТС] | |
|
Евгений В, я вот так и понимаю, просто я подумал что можно как то объекты с одними и теми значениями использовать в других классах(не используя конструктора и присваивания)
0
|
|
|
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
|
|
| 08.07.2013, 18:39 | |
|
0
|
|
| 08.07.2013, 18:39 | |
|
Помогаю со студенческими работами здесь
20
Пути и методы решения некоторых заданий
USB устройство, проблемы и пути решения. Hard disk error - пути решения Видеокарта люто перекрыла порт PCI. Есть ли пути решения? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. На мобильном - сканируйте QR-код. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|