|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.07.2009, 20:32 | #1 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Вопрос с классами.
У меня в игре есть классы TWeapon и TAmmo, причем TAmmo находится в TWeapon.
Код:
Вопрос: можно ли как-либо использовать переменные TWeapon из TAmmo.Processing. То есть использовать переменные которые расположены выше в иерархии. Я же например могу использовать переменные TAmmo из процедур TWeapon. (мне нужно наоборот). |
12.07.2009, 20:37 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
добавь в Tammo свойство родителя...и используй его(так же у компонентов)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
12.07.2009, 20:40 | #3 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Ну да, я знаю. Только проблема в том что так получится намного сложнее. Что вообще нереально получить переменные которые расположены выше в иерархии?
|
12.07.2009, 21:04 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
либо так...либо в процедуре передавать как параметр...иначе никак
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.07.2009, 01:28 | #5 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
1. При создании TAmmo указывать родителя (т.е. TWeapon)
2. В разделе либо Public либо Private класса TWeapon описать нужные переменные для использования в TAmmo. Можно и в Private, они будут видны т.к. в одном модуле описаны. p.s. я раскрыл, на счет иерархии - это ведь вроде не то, помойму это например TObject - TControl - TWinControl и т.д. т.е. иерархия создается методом наследования класса классом, у вас же просто данные описаны. Ну это так, лирическое отступление. |
13.07.2009, 08:24 | #6 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
ООП преследует прямо противоположные цели . Вы пытаетесь перешагнуть через инкапсуляцию. К вышеперечисленному можно добавить еще один вариант (возможно не самый лучший) - изменить алгоритмы работы TAmmo и TWeapon.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
13.07.2009, 08:55 | #7 | |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Спасибо но я уже сделал через передавание нужных переменных как параметр (что это я сразу не додумался ).
Цитата:
|
|
13.07.2009, 09:27 | #8 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Зачем изобретать что- то, когда есть Tcomponent ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
13.07.2009, 10:08 | #9 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Что за TComponent? (просто я в танке )
|
13.07.2009, 10:30 | #10 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Ну это, в встроенном хелпе по Делфи пишешь TComponent...
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с классами и объектами | Shavminator | Общие вопросы Delphi | 7 | 18.12.2009 04:11 |
Помогите с классами в делфи((( | PRIVIDENIE18 | Помощь студентам | 8 | 14.05.2009 09:07 |
Как пользоваться классами на С++ | madmax08 | Общие вопросы .NET | 4 | 15.07.2008 23:59 |