juventine написал(а):
кстати, что мы называем статической переменной?
По-видимому, речь идет о раннем связывании.
juventine написал(а):
...lo_bus уже динамический тип... то есть получается, что мы динамическому типу присваиваем динамический тип?.. в чем здесь логика?
Есть декларируемый тип переменной, известный компилятору, а есть реальный тип, который используется во время выполнения программы. Например, lo_vehicle TYPE REF TO cl_vehicle - до запуска программы (на этапе компиляции) компилятор знает, что у Вас ссылка на cl_vehicle. Но во время работы программы это может быть ссылка на любой класс-потомок cl_vehicle. Аналогия. Вы знаете, что Вам подарят автомобиль, и можете готовиться к этому (этап компиляции, точнее даже - написания программы, которая потом будет компилироваться) - подыскивать гараж, получать права и т.д. А подарили (этап выполнения) Вам "Запорожец" - т.е. не просто автомобиль (как и ожидалось на этапе компиляции), а автомобиль с какими-то дополнительными свойствами или отсутствием оных

(дочерний класс).
juventine написал(а):
если бы статический тип ссылки lo_bus был более детальный, чем динамический тип lo_vehicle, то при данном синтаксисе ( lo_bus ?= lo_vehicle) система бы упала в дамп?
Не знаю, что имеется в виду под словом "детальный". Если во время выполнения lo_vehicle - не ссылка на класс lo_bus или на его потомка, будет дамп.
juventine написал(а):
что в данном случае подразумевается под словосочетанием "разные по типу"...
Видимо, из разных иерерахий классов.
juventine написал(а):
почему, в таком случае, система не упала в дамп на 22 строке...
Видимо, в строке 29 ссылки на объекты из разных иерархий классов, в 22 -нет.