Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Властивості класів,,,.docx
Скачиваний:
5
Добавлен:
26.10.2018
Размер:
252.91 Кб
Скачать

[Править]Интересные факты

  • Никлаус Вирт одно время называл цикл со счётчиком «маргинальным», утверждая, что такая конструкция является излишней и должна быть исключена из синтаксиса языков программирования как несистемная. В соответствии с этим представлением в языке программирования Оберон цикла со счётчиком не было. Однако в языке Оберон-2, созданном Виртом и Мёссенбёком в развитие Оберона, цикл со счётчиком FOR появился снова в интересах практического удобства использования[2].

[править]

Розділ 3. Об'єктно-орієнтоване програмування і C++

 Середа, 03 грудня 2007

Об'єкт - це абстрактна суть, наділена характеристиками об'єктів що оточує нас в реальному світі. Створення об'єктів і маніпулювання ними - це зовсім не привілей мови C++, а швидше результат методології програмування, що утілює в кодових конструкціях опису об'єктів і операції над ними. Кожен об'єкт програми, як і будь-який реальний об'єкт, відрізняється власними атрибутами і характерною поведінкою. Об'єкти можна класифікувати за різними категоріями: наприклад, мій цифровий наручний годинник "Casio" належить до класу годинника. Програмна реалізація годинника входить, як стандартне застосування, до складу операційної системи вашого комп'ютера.

Кожен клас займає певне місце в ієрархії класів, наприклад, всі годинники належать класу приладів вимірювання часу (вищому в ієрархії), а клас годинника сам включає безліч похідних варіацій на ту ж тему. Таким чином, будь-який клас визначає деяку категорію об'єктів, а всякий об'єкт є екземпляр деякого класу.

Об'єктно-орієнтоване програмування (ООП) — це методика, яка концентрує основну увагу програміста на зв'язках між об'єктами, а не на деталях їх реалізації. У цьому розділі основні принципи ООП (інкапсуляція, спадкоємство, поліморфізм, створення класів і об'єктів) інтерпретуються і доповнюються новими поняттями і термінологією, прийнятими інтегрованим середовищем візуальної обробки C++Builder. Приводиться опис розширень мови новими можливостями (компоненти, властивості, обробники подій) і останніх доповнень стандарту ANSI C++ (шаблони, простори імен, явні і непостійні оголошення, ідентифікація типів при виконанні програми, виключення).

Розділ носить оглядовий характер, вона покликана познайомити читача із спеціальною термінологією ООП, до якої автор вимушений вдаватися впродовж всієї книги. Це викликано тим, що C++Builder є типовою системою ООП і претендує на кульмінаційну роль в історії його розвитку.

3.1 Інкапсуляція

Інкапсуляція є об'єднання в єдиному об'єкті даних і кодів, що оперують з цими даними. У термінології ООП дані називаються членами даних (data members) об'єкту, а коди - об'єктними методами або функціями-членами (methods, member functions).

Інкапсуляція дозволяє в максимальному ступені ізолювати об'єкт від зовнішнього оточення. Вона істотно підвищує надійність програм, що розробляються, оскільки локалізовані в об'єкті функції обмінюються з програмою порівняно невеликими об'ємами даних, причому кількість і тип цих даних зазвичай ретельно контролюються. В результаті заміна або модифікація функцій і даних, інкапсульованих в об'єкт, як правило, не спричиняє наслідків, що погано простежуються, для програми вцілому (в цілях підвищення захищеності програм в ООП майже не використовуються глобальні змінні).

Іншим важливим наслідком інкапсуляції є легкість обміну об'єктами, перенесення їх з однієї програми в іншу. Простота і доступність принципу інкапсуляції ООП стимулює програмістів до розширення Бібліотеки Візуальних Компонентів, що входить до складу C++Builder.