Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Коротка характеристика по С++

Системи і середовища програмування ТОП.

Об' єктно - орієнтоване програмування - це методологія програмування, яка базується на поданні програми у вигляді сукупності об' єктів, кожний із яких є реалізацією певного класу, а класи утворюють ієрархію на принципах успадкування.

У цьому визначенні можна вирізнити три частини.

1. ТОП використовує як елементи конструкції об' єктів, а не алгоритми.

2. Кожний об' єкт є реалізацією певного класу.

3. Класи організовані ієрархічно.

Лише в разі додержання всіх перелічених щойно вимог програма буде об' єктно - оріентованою.

Переваги об' єктного підходу

1. Об' єктний підхід дозволяє повною мірою використовувати виражальні можливості об' єктних та об' єктно - орієнтованих мов програмування:

С++ => використання ієрархії класів у процесі проектування.

2. Використання об' єктного підходу відчутно підвищує якість розробки в цілому та її фрагментів

3. Об' єктний підхід забезпечує побудову систем на основі стабільних проміжних описів, що значно спрощує процес внесення змін.

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

5. Об' єктний підхід зорієнтований на людське сприйняття світу.

Структура програми. Правила Правої Руки.

Написання хороших програм вимагає розуму, смаку і терпіння.

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

[a] Якщо ви вважайте "це" окремим поняттям, зробіть його класом.

[b] Якщо ви вважайте "це" окремим об' єктом, зробіть його об' єктом деякого класу.

[c] Якщо два класи мають загальними щось істотне, зробіть його базовим класом. Майже усі класи у вашій програмі матимуть щось загальне; заведіть (майже) універсальний базовий клас, і розробіть його найретельніше.

[2] Колі ви визначаєте клас, який не реалізує деякий математичний об' єкт, на зразок матриці або комплексного числа, або тип низького рівня, на зразок пов'язаного списку, то:

[a] Не використайте глобальні дані.

[b] Не використайте глобальні функції (не членуй).

[c] Не використайте відкриті дані -члени.

[d] Не використайте друзів, окрім як щоб уникнути [a], [b] чи [c].

[e] Не звертайтеся до даних- членів або інших об' єктів безпосередньо.

[f] Не поміщайте в клас "полі типу"; використайте віртуальні функції.

[g] Не використайте inline -функции, окрім як засіб істотної оптимізації.

Передусім, давайте напишемо програму, що виводить рядок видачі:

# #include

main()

{

cout << "Hello, world\n";

}

Рядок #include повідомляє компілятору, щоб він включивши стандартні можливості потоку введення і виводу, що знаходяться у файлі stream.h. Без цих описів вираження cout << "Hello, world" не мало б сенсу. Операція << ("поміститив") пише свій перший аргумент, в іншому випадку, рядок "Hello, world" в стандартний потік виведення cout.

Рядок - це послідовність символів, поміщена в подвійні лапки.

Інша частина програми

main()

{.. } визначає функцію, названу main.

Кожна програма повинна містити функцію з ім 'ям main, і робота програми розпочинається з виконання цієї функції.

Звідки з'явилися вихідний потік cout і код, що реалізовує операцію виводу << Команда компіляції в C++ зазвичай називається CC.

Припустимо, що програма з "Hello, world" зберігається у файлі з ім 'ям hello.c, тоді ви можете її скомпілювати і запустити приблизно так ($ - системне запрошення):

$ $ CC hello.c

$ $ a.out

Hello, world

$

a.out - це ім 'я виконуваного результату компіляції, що приймається за змовчуванням. Якщо ви хочете назвати свою програму, ви можете зробити це за допомогою опції - o:

$ $ CC hello.c - o hello

$ $ hello

Hello, world

$

Введення

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

# #include

main()

{

int inch = 0; // inch - дюйм

cout << "inches";

cin >> inch;

cout << inch;

cout << " in = ";

cout << inch*2.54;

cout << " cm\n";

}

Перший рядок функції main() описує цілую змінну inch. Її значення прочитується за допомогою операції >> ("узяти з") над стандартним потоком введення cin. Після її запуску ваш термінал може виглядати приблизно так:

$ $ a.out

inches=12

12 in = 30.48 cm

$

У даному прикладі на кожну команду виводу доводитися один оператор; це занадто довго. Операцію виводу << можна застосовувати до її власного результату, так що останні чотири команди виводу можна було записати одним оператором:

cout << inch << " in = " << inch*2.54 << " cm\n";

Насправді, приведені вище програми написані на C++, "розширеному" операціями введення-виводу за допомогою використання бібліотек і включення файлів за допомогою #include.

Коментарі

Часто буває корисно вставляти в програму текст, який призначається в якості коментаря тільки для того, що читає програму людина, і ігнорується компілятором в програмі. У C++ це можна зробити одним з двох способів.

Символи /* починають коментар, що закінчується символами */. Уся ця послідовність символів еквівалентна символу пропуску (наприклад, символу пропуску). Це найкорисніше для багаторядкових коментарів і вилучення частин програми при редагуванні, проте слід пам'ятати, що коментарі /* */ не можуть бути вкладеними.

Символи // починають коментар, який закінчується у кінці рядка, на якому смороді з'явилися. Знову, уся послідовність символів еквівалентна пропуску. Цей спосіб найбільш корисний для коротких коментарів. Символи // можна використати для того, щоб закоментувати символи /* або */, а символами /* можна закоментувати //.

Типи і Опису

Кожне ім 'я і кожне вираження має тип, що визначає операції, які можуть над ними робитися. Наприклад, опис

int inch; визначає, що inch має тип int, тобто, inch є цілою змінною.

Опис - це оператор, який вводити ім 'я в програмі. Опис задає тип цього імені. Тип визначає правильне використання імені або вираження. Для цілих визначені такі операції, як +, -, * і /.

Після того, як включень файл stream.h, об' єкт типу int може також бути іншим операндом <<, коли перший операнд ostream.

Тип об' єкту визначає не лише ті, які операції можуть до нього застосовуватися, але і сенс цих операцій. Наприклад, оператор cout << inch << " in = " << inch*2.54 << " cm\n";

правильно обробляє чотири вхідні значення по- різному. Рядки друкуються буквально, тоді як ціле inch і значення з плаваючою точкою inch*2.54 перетворяться з їх внутрішнього представлення у відповідне для людського ока символьне представлення.

Основні типи

Основні типи, що найбільш безпосередньо відповідають засобам апаратного забезпечення, такі:

char short int long float double

Перші чотири типи (char short int long) використовуються для представлення цілих, останні два (int long) - для представлення чисел з плаваючою точкою.

Змінна типу char має розмір, природний для зберігання символу на машині (зазвичай, байт), а змінна типу int має розмір, що відповідає цілій арифметиці на машині (зазвичай, слово). Діапазон цілих чисел, які можуть бути представлені типом, залежить від його розміру.

<== предыдущая лекция | следующая лекция ==>
Типізація | Основні концепції ТОП
Поделиться с друзьями:


Дата добавления: 2013-12-14; Просмотров: 287; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.