Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Аспекти підтримки властивостей відкритих систем ООП






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

Розширюваність. Успадкування дозволяє заощадити значні кошти при розширенні системи, оскільки багато чого не потрібно створювати заново, а деякі нові компоненти можна отримати, лише злегка змінивши старі. Крім повторного використання, збільшується також надійність, оскільки використовуються вже налагоджені компоненти. Можливість конструювання абстрактних типів даних для створення нових засобів – забезпечується самим поняттям класу, що об’єднує схожі об’єкти з однаковим набором операцій.

Інтероперабельність. Здатність системи взаємодіяти з іншими системам добре підтримується принципом надсилання повідомлень та відповідними поняттями поліморфізму і динамічного зв’язування. У повідомленні об’єкту (можливо віддаленому) передається ім’я дії, яка має бути ним виконана, і деякі додаткові аргументі повідомлення. Як цю дію виконувати – знає і вирішує тільки сам об’єкт – одержувач повідомлення. Від нього тільки вимагається видати у відповідь результат. Цілком очевидно, що різні об’єкти будуть по-різному реагувати на однакові повідомлення (поліморфізм). Крім того, дуже зручно вибирати спосіб реалізації в останній момент – при відповіді на повідомлення, в залежності від поточного стану системи (динамічне зв’язування).

Дружність. Зручність взаємодії людини з системою вимагає від останньої наявності всіх трьох вищевказаних якостей. Мобільність необхідна для швидкої зміни старих і появи нових пристроїв, зокрема, засобів мультимедіа. Розширюваність потрібна для розробки програмної підтримки нових парадигм спілкування людини з машиною. Інтероперабельність просто розглядає людину як іншу систему, з якою відкрита система повинна вміти взаємодіяти.

Мова програмування C++

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

При створення C++ прагнули зберегти сумісність з мовою C. Безліч програм, які можуть однаково успішно транслювати як компіляторами C, так і компіляторами C++, досить велика – завдяки тому, що синтаксис C++ був заснований на синтаксисі C.

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

Існує декілька реалізацій мови C++ - як безкоштовних, так і комерційних. Їх виробляються компанії GNU Project, Microsoft, Intel та Borland. C++ зробила величезний вплив на інші мови програмування, в першу чергу на Java, C#, які попросту є похідними від C++.

Філософія мови C++

Деякі принципи проектування C++:

ü Отримати універсальну мові зі статичними типами даних, ефективністю і мобільністю C.

ü Безпосередньо і всебічно підтримувати сукупність парадигм програмування, в тому числі, процедурне програмування, абстракцію даних, об’єктно-орієнтоване програмування, тощо.

ü Максимально зберегти сумісність із C, тим самим здійснити легкий перехід від програмування на C.

ü Уникнути різночитань між C і C++: будь-яка конструкція, припустима в обох мовах, має у кожній з них позначати одне й те ж і приводити до однієї й тієї ж поведінки програми;

ü Уникнути особливостей, які залежать від платформи або не є універсальними.

Стандартизація мови C++

У 1998 році був опублікований стандарт ISO/IEC 14882: 1998 (відомий як C++98), розроблений комітетом зі стандартизації C++ (ISO/IEC JTC1/SC22/WG21 working group).

Протягом декількох років після опублікування документа, розглянувши повідомлення про помилки, комітет розробив виправлену версію стандарту, ISO/IEC 14882: 2003, що вийшла в 2003 році.

У 2005 році був випущений звіт «Library Technical Report 1» (коротко званий TR1). Звіт описує розширення стандартної бібліотеки, які повинні бути включені в наступну версію мови C++.

На цей час створена нова версія стандарту, названа C++11 або ISO/IEC 14882: 2011.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал