Основная причина в том, что когда вы используете метод, вы никогда не узнаете о деталях, его определяют только интерфейс и абстрактный метод.
Поскольку метод является абстрактным, он не имеет подробностей, поскольку он должен быть определен производным классом. Основной момент, который делает это возможным, состоит в том, что «IN» и «OUT» никогда не меняются, поскольку метод является абстрактным в основе, поэтому определяется интерфейс, но не реализация ... пока.
Думайте об этом, как о ком-то, кто продает базовые авиабилеты из пункта А в пункт Б, не зная, какую авиакомпанию планируется использовать. Они еще не знают, как вы туда доберетесь, но как только они передадут контракт с проданным билетом авиакомпании, эта авиакомпания выяснит детали выполнения условий контракта. Все, что вас волновало при покупке билета, это то, что вы знали, что за x долларов вы собираетесь добраться от А до Б.