Тема 16 –Багатофайлові програми 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема 16 –Багатофайлові програми



 

Вступ

Причини використання багатофайлових програм

Бібліотеки класів

Інтерфейс

Реалізація

Організація і концептуалізація

Міжфайлові змінні

Міжфайлові функції

Міжфайлові класи

Створення багатофайлової програми

Клас надвеликих чисел

Підсумок

Питання по темі

 

Вступ

При вивченні попередніх тем ми бачили, як зв’язані у С++ різні частини програми – описувачі класів, методи, функція main(). Але всі програми, які ми досі розглядали, складалися з однеого файлу. Тепер же ми удосконалимо наше мистецтво програмування і навчимося створювати багатофайлові програми та заголовочні файли.

Причини використання багатофайлових програм

Таких причин є декілька. Найважливішими з них є незамінність бібліотечних класів, можливість використання принципу розподілу роботи для кількох програмістів, а також зручність створення концепції дизайну програм.

 

Бібліотеки класів

В традиційному процедурно орієнтованому програмуванні довгий час серед розробників ПЗ було прийнято надавати програмістам бібліотеки функцій. За допомогою комбінування цих бібліотек і додавання деяких власних процедур та функцій виходила програма – продукт, що надавався кінцевому користувачу.

Бібліотеки звичайно містять дуже широкий спектр готових функцій, придатних для різного використання. Наприклад, розробник може запропонувати бібліотеку функцій для статистичної обробки даних чи оптимізації роботи з пам’яттю комп’ютера.

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

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

Дуже важливим прикладом бібліотеки класів є Стандартна Бібліотека С++ (STL).

Звичайно бібліотека класів складається з інтерфейсу (interface) та реалізації (implementation). Це дві основні частини, які наявні практично завжди. Розглянемо їх детальніше.

 

Інтерфейс

Назвемо людину, яка написала бібліотеку класів, розробником бібліотеки, а того, хто цю бібліотеку використовує – програмістом.

Для того, щоб бібліотеку можна було використовувати, програмісту необхідний доступ до різних визначень, включаючи оголошення класів. Вони являють собою загальнодоступну частину бібліотеки і звичайно поставляються у вигляді вихідного коду в складі заголовочного файлу з розширенням.h. Звичайно цей файл включається в текст програми за допомогою директиви #include.

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

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

 

Реалізація

Якщо інтерфейсну частину можна назвати фасадом будівлі, то реалізація являє собою її внутрішню частину. В контексті бібліотеки класів реалізація – це вміст класів. Програмісту зовсім не обов’язково розбиратися з тим, як проходить внутрішня робота бібліотечних класів. До того ж, розробники бібліотек у більшості випадків просто не надають клієнтам вихідних кодів, щоб їх не можна було нелегально використати чи змінити. Тому методи класів найчастіше поставляються у вигляді об’єктних (.obj) або бібліотечних (.lib) файлів.

 



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 43; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.15.248 (0.003 с.)