русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Вступ. Загальний опис об’єктно-орієнтованого програмування


Дата додавання: 2014-04-22; переглядів: 921.


Функції С++ мають два обмеження: аргументи передаються як значення і втрачають зв’язок з початковими даними, функція може повертати тільки одне значення. Для подолання цих обмежень можна використовувати вказівники або посилання. Синтаксис використання вказівників відрізняється від синтаксису використання посилань, але результат буде однаковий – замість копії об’єкту програми, яка існує в області видимості функції, в функцію буде переданий реальний ісходний об’єкт.

 

#include <iostream>

using namespace std;

void swap1( int * a, int * b ) {

int t = *a;

*a = *b;

*b = t;

}

void swap2( int & a, int & b ) {

int t = a;

a = b;

b = t;

}

int main() {

int x = 3, y = 4;

swap1( &x, &y );

swap2( x, y );

}

 

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

 

#include <iostream>

using namespace std;

struct student {

int id;

int rating;

};

void show1( student s ) {

cout << s.id << " : " << s.rating << endl;

}

void show2( student * s ) {

cout << s->id << " : " << s->rating << endl;

}

void show3( student & s ) {

cout << s.id << " : " << s.rating << endl;

}

void show4( const student & s ) {

cout << s.id << " : " << s.rating << endl;

}

int main() {

student s = { 1, 95 };

show1( s );

show2( &s );

show3( s );

show4( s );

}

 

В функції 3 можна змінювати значення полей структури студент, і ці зміни будуть впливати на оригінал цієї структури. В функції 4 такі зміни заборонені.

 

 

Курс лекцій

з предмету «Об’єктно орієнтоване програмування»

 

 

Частина 1 – «Об’єктно орієнтоване програмування в мові Паскаль»

 

 


Зміст

 

Вступ. Загальний опис об’єктно-орієнтованого програмування

Тема 1 Об’єктно-орієнтоване програмування в Pascal. Означення об’єкту, його поля і методи.

Тема 2 Об’єктно-орієнтоване програмування в Pascal. Успадковування. Інкапсуляція

Тема 3 Об’єктно-орієнтоване програмування в Pascal. Віртуалізація методів

Тема 4 Об’єктно-орієнтоване програмування в Pascal. Таблиця віртуальних методів. Переваги і недоліки віртуальних методів.

Тема 5. Об’єктно-орієнтоване програмування в Pascal. Вказівники і динамічна пам’ять

Тема 6 Об’єктно-орієнтоване програмування в Pascal. Вказівники, динамічна пам’ять та об’єкти

Тема 7 Об’єктно-орієнтоване програмування в Pascal. Поняття про динамічні методи. Таблиця віртуальних методів і таблиця динамічних методів.

Тема 8 Об’єктно-орієнтоване програмування в Delphi

 


 

Вступ. Загальний опис об’єктно-орієнтованого програмування

Структурне програмування

Процедурні мови

Недоліки структурного програмування

Неконтрольований доступ до даних

Моделювання реального світу

Об’єктно орієнтований підхід

Характеристики об’єктно орієнтованих мов

Об’єкти

Класи

Успадковування

Повторне використання коду

Типи даних користувача

Поліморфізм і перезавантаження

Підсумок

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

 

 

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


<== попередня лекція | наступна лекція ==>
Передача аргументів функцій як посилань | Структурне програмування. Процедурні мови


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн