В чем заключаются преимущества и недостатки Абстрагирования в объектно ориентированном программировании?
Преимущества: приложение становится гибче, можно легко подменить люблю часть.
Недостатки: код становится тяжелее для понимания
Возьмем сущность телефон и действие звонить.
Как должно выглядеть это к коде клиента: Phone phone = new CellPhone();
phone->call('number');
Теперь представь, что у разных пользователей телефоны разные:СенсорныеКнопочныеСтационарные кнопочныеСтационарные дисковые и т.д.
Каждый из этих телефонов может звонить и звонить, но набор номера на каждом из них осуществляется по разному. С позиции клиента, тебе должно быть все равно, тебе главное что есть телефон, который звонит. Ты как клиент абстрагируешься от деталей, т.е. должен ли ты водить пальцем по сенсору, жать на кнопки и т.д. Тебя это волновать не должно.
Надеюсь объяснил доходчиво )))