Обектно ориентирано програмиране

Анотация и литература

Обектно ориентирано програмиране е основен курс за студентите II курс (трети семестър) от специалност Информатика за 2004/2005 уч. година. Основна цел на курса е да се овладеят принципите на обектно-ориентираното програмиране, като се използва езикът С++.

В началото на курса се припомнят основни въпроси, свързани с дефиниране и използване на класове - капсулиране на данни, функции-членове, конструктор и деструктор, обекти константи и константни членове на клас, композиция и обекти като параметри на функции. Въвеждат се и понятията приятелски функции и приятелски класове, указател this, статични членове на клас.

Предефиниране на операции е основна техника в обектно-ориентираното програмиране. Предефинирането на унарни и бинарни операции се илюстрира със създавене на клас Array. Подробно се изучават и въпросите от наследяване на класове, виртуални функции и полиморфизъм. Входни и изходни потоци за класове и обекти, потокови манипулатори, състояние на потоците, потоци и работа с файлове са част от темите, свързани с входно-изходните операции в C++. Разглеждат се принципите и методите за обработка на изключения: докладване, прихващане, пренасочване на обработката, наследственост и изключения. Изучава се и стандартната библиотика с шаблони - контейнери и алторитми.

Придобитите знания се използват от други курсове по информатика, програмиране и бази данни. Студентите трябва да се взели двата курса по програмиране. Курсът се чете по учебника на Deitel&Deitel [1].

Учебници:
1. H.M.Deitel, P.J.Deitel, C++ How to Program, Second Edition, Prentice Hall, 1998.
2. Бьорн Строустроп, Програмният език С++. Специално издание. Том 1 и 2, ИК "Инфодар", София, 2001.

Книги на български език, които съдържат материали по ООП:
 3. Магдалина Тодорова, Програмиране на С++ (част първа и част втора), Сиела, София, 2002.
 4. Авторски колектив, Ръководство по програмиране и използване на компютри (част втора С++), Сиела, София, 2001.
5. Лендерт Амерал, Алгоритми и структури от данни в С++, ИК "Софтех", 2001.
6. Брайън Овърленд, C++ на разбираем език, ИК "Алекс софт", 1999.
7. Ал Стивънс, Клейтън Уолнъм. С++ библия, АлексСофт, 2000.
8. Кай Хорстман, Принципи на програмирането със С++, ИК Софтех, София, 2000.
9. Хърбърт Шилдт, C++ - Практически самоучител, ИК "СофтПрес", 2001.