Я хочу создать объект класса оружия, который может создать бесконечное количество класса снаряда, который я ему назначил. Класс оружия и класс снаряда используются как «абстрактные» классы (я знаю, что Delphi 7 не поддерживает абстрактные классы).Построение объекта, который поддерживает наследование
Теперь я donßt знаю, как реализовать Weapon.shoot(), что instanciates в projectileType правильно (Класс SimpleWeapon использует SimpleProjectile как projectileType)
procedure Weapon.shoot();
var g : Projectile;
begin
// instanciate ammo type
g := projectileType.create();
g.init();
end;
Во-первых, projectileType.create() возвращает TObject, который Я не могу напрямую назначить переменную Projectile, и литье TObject с помощью projectileType (g) также не работает.
Во-вторых, как я могу достичь того, что g будет заброшен в тип projectileType, так что я могу использовать метод init() этого конкретного класса, а не его родительский (Projectile)?
Пусть это будет Jagged Alliance 3, пожалуйста, дорогой Санта, пожалуйста ... – OnTheFly