Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Программные интерфейсы — это, пожалуй, самая явная формализованная абстракция. Отсекается все лишнее и остаётся только «что оно делает» без «как оно делает».Не совсем так.
Во-первых, формализации как таковой — интерфейсы никак не касаются вообще. Формализация — это вообще другая «опера».
Во-вторых, вы пишете «остаётся только «что оно делает», но это не так. Потому что в более широком логическом смысле интерфейс может быть и не реализован, и тут вы верно пишете «без «как оно делает»
текут
Программные интерфейсы — это, пожалуй, самая явная формализованная абстракция.Разрешите не согласиться. Классическая абстракция в программировании — это типы данных начиная с классического Паскаля (и раньше), потом добавились ОО классы.
В итоге у двух разных людей может быть очень разное восприятие одних и тех же сущностей реального мира.Два грамотных программиста одинаково воспринимают тип Real, тип Integer и array [0..2] of integer.
у объекта МОЖЕТ БЫТЬ (допустима возможность иметь, без реализации) форма и цвет, но какие они — не существенно…Если не существенно, то форма формы и цвет реализуются средой по умолчанию. Но кому и когда не существенно? Кодеру, который пишет обработчики событий для этой формы, м.б. не важно красная форма или зеленая, но до тех пор пока не возникнет, нпр., задача: при неправильном клике пользователя форма должна краснеть, а при правильном зеленеть. Но, да, оттенки цвета кодера при этом волновать не будут. А вот дизайнер скажет: что зеленый слишком кислотный, а красный слишком блеклый.
Из определения можно сделать вывод, что абстракцией может быть только осмысленное.
Кратко об абстракциях