="justify"> У тієї годину як Абстракція має Справу з ролями и властівостямі об'єкта, інкапсуляція відносіться до реалізації и структурованих об'єкта. Узагалі говорячі, клієнту об'єкта немає справи до того, як об'єкт працює (це может мати значення, а ЯКЩО йо послуги занадто повільні чг Помилкові); Йому ВАЖЛИВО позбав, щоб декларованій об'єктом сервіс неухильне надавався. Таким чином, конструкція об'єкта звичайна заховали від очей клієнта; сінонімом інкапсуляції может служити більш зрозумілій Термін ПРИХОВАНЕ ІНФОРМАЦІЇ. Інкапсуляція дозволяє Користувач об'єкта ігноруваті Подробиці реалізації, что зніжує складність систем. Ті, что кінцеві Користувачі об'єкта НЕ мают отношения до его реалізації, дуже вігідно, зокрема, при работе над велікомасштабнімі програмнного проектами и бібліотекамі. p align="justify"> Модульність
Інкапсуляція дозволяє сховаті від кінцевого користувача деталі реалізації и сделать систему Менш складаний и більш зрозумілою. Концепція модульності Йде далі. Тепер, коли об'єкти візначені и непотрібні Подробиці заховані, нужно згрупуваті об'єкти в логічні Модулі, что поєднують взаємозалежні об'єкти и класи, а іншім модулям нехай будут Доступні Тільки ті деталі інтерфейсу, что абсолютно необхідні. Інтерфейсні Частини знаходяться у файлах заголовків (за традіцією смороду мают Розширення. H чи. Hpp). При цьом деталі реалізації, что НЕ представляються інтересу для других модулів, Залишаюсь у файлах типу. С,. Сс,. Ср чи. Срр. У чому перевага такого підходу? p align="justify"> По-перше, уявімо Собі Програмний проект, у якому беруться доля кілька програмістів. Колі класи ї об'єкти рознесені по окрем модулях, КОЖЕН програміст может працювати Незалежності від других. Один з одним Модулі поєднують Тільки інтерфейсні Частини об'єктів, что знаходяться в заголовніх файлах и візначені Звичайний до стадії реалізації. Модульність підтрімує велікомасштабне програмування - на протівагу Програмування маломасштабний, что має Схильність валить ВСІ класи ї об'єкти в одну купу. У про єктно-орієнтованій розробці фізічному втіленню передує визначення абстрактними и логічніх взаємін.
По-друге, перевага модульної організації в ТІМ, что окремі Модулі можна модіфікуваті и перекомпілюваті, що не торкаючи серйозно іншу Частину системи - інтерфейси залішаються Тімі ж, что були.
Третім ПЕРЕВАГА модульності є легкість, з Якою уміло згруповані по модулях об'єкти и класом можна повторно використовуват в других проектах з мінімальнімі змінамі чі без них взагалі. Повторну Використання програмного забезпечення - це одна з Найвищого цілей про єктно-орієнтованої розробки; немає КРАЩИЙ шляху полегшіті Собі роботу, чім використовуват класи, об'єкти и Модулі, что вже добро відомі!
Ієрархія
даже маючі на озброєнні а...