Он там не создавался, а использовался.

Создавался не он, а его потомок где-то в другом месте.

Потомок может использовться всюду, где может использоваться его родитель. Наверное, через параметры внутрь процедуры, в которой среди множества параметров указана переменная с типом = предок, передаётся потомок. Внутри процедуры работа с объектом ведётся как с предком. Даже если у предка используемые методы были абстрактными, у конечного потомка они уже оконкречены, поэтому всё работает.