![]() |
![]() ![]() |
![]() |
Klose |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вобщем хочу в игре нечто типа законов физики. Создал главный класс и от него породил потомков. Примерно так:
type Main=class private F, m, g:single;//F-сила тяжести, m- масса, g-постоянная, constructor Init; procedure Process; procedure Draw; end; Если я где-нибудь в главном классе пропишу, что F:=m*g, это будет считаться для потомков? И если да, то для каждого потомка будет находится своя F (m у всех потомков разная) ? P.S. Может не четко задал вопрос. ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Если я где-нибудь в главном классе пропишу, что F:=m*g, это будет считаться для потомков? Не совсем... Главный класс, по большому счету, вообще ничего не знает про потомков... Чтобы он узнал - надо использовать виртуальные функции...Ты бы хотя бы 2-3 потомка показал, и заодно способ, которым ты хочешь использовать (и вычислять) эту самую F ... |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Хотя, можно сделать проще:
type Прогони и посмотри, ЧТО считается ... |
Klose |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: ![]() ![]() ![]() |
Про виртуал забыл написать.
Пока у меня один потомок. И дальнейшее представляю смутно. type TVova=class(Main) Speed:Single; UpDown:byte; constructor Init; procedure Process;override; procedure Draw;override; end; constructor Init; begin //если я в конструкторе главного запишу F:=g*m, то здесь уже будет само считаться? g:=9.8; m:=3000; end; Я без классов-то уже все делал, но так я сам в коде теряюсь и тяже что-либо найти.=) |
![]() ![]() |
![]() |
Текстовая версия | 6.08.2025 10:21 |