Не могу поверить, что никто еще не упомянул Барбару Лисков. Когда она разработала CLU в 1974 году, она столкнулась с этой же проблемой терминологии, и она придумала термин , разделив (также известный как вызов путем совместного использования объектов и вызов по объекту ) для этого конкретного случая «вызов по значению, где значение является ссылкой».
Вы не можете определить ограничение и расширение за один шаг, но вы можете определить X как ограничение Y, а Y как расширение Z, поэтому шаг расширения будет добавлять два атрибута, а шаг ограничения будет затем ограничить один из них.