Факултет по математика и информатика - Обектно-ориентирано програмиране |
|
Математика (бакалавър) редовно обучение | изпит | | | Курсът има за цел задълбочено изучаване на една от най-разпространените съвременни парадигми за проектирането и реализацията на софтуерни системи обектно-ориентирано програмиране. Съдържанието на курса обхваща: - история на ОО парадигма и езиците за ООП и тяхното значението за развитие на софтуерното инженерство
- въведение в ОО парадигма, независимо от конкретен език за програмиране (обект, състояние, херметизация, съобщение, клас, наследяване, полиморфизъм)
- ОО анализ и проектиране (диаграми за ОО проектиране, ОО методика за проектиране на софтуерни системи)
- реализация на ОО парадигма в конкретен език за ООП)
- съпоставка с други ОО езици за програмиране (Object Pascal, JAVA, Smalltalk , Prolog ++)
Упражненията служат за илюстриране на лекционния материал и за задълбочаване и разширяване на знанията и уменията за практическо програмиране в средата на WINDOWS (на базата на MS Visual C++). С разглеждането и разработването на разнообразни примери за представяне и обработка на структури от данни, текстообработка, компютърна графика и др., студентите усвояват умения за свободно използуване и прилагане (в собствени приложения) на основните понятия, средства и методи на обектно-ориентираното и проектиране и програмиране. | | - Съвременни направления в програмирането. Стил на програмиране – определение и видове.
- Историческо развитие на езиците за обектно-ориентирано програмиране (ООП). Определение на ООП.
- ООП - основни принципи и определение, предимства и приложение на ООП.
- Обектно-ориентирано проектиране. Диаграми и правила за обектно-ориентирано проектиране. Примери.
- Основни понятия в ООП – клас, екземпляр, състояние, поведение, херметизация, предаване на съобщения.
- ООП – създаване, инициализация и унищожаване на обекти, конструктори и деструктори. Примери.
- Концепцията наследяване в ООП – определение, класификации, проблеми, предимства. Примери. Форми на наследяване. Проектиране на йерархия на наследяване.
- Свързване на съобщения и методи, реализация в ЕП. Механизъм на „ранното“ свързване. Статично свързвани методи – определение и изпълнение. Примери. Механизъм на „късното“ свързване. Виртуални методи – определение и изпълнение. Примери.
- Статично или динамично свързване и проектиране на йерархията на наследяване. Абстрактни класове – приложение. Абстрактни методи. Примери.
- Херметизация в ООП. Цели на херметизацията. Нива на херметизация и реализация в ООЕП. Херметизация и ОО проектиране. Предимства.
- Динамика на съществуването на обектите. Динамични обекти в езиците за ООП. Динамични екземпляри на обекти – създаване, инициализация, манипулиране, унищожаване. Реализационни проблеми в следствие на наследяването – резервиране на памет за обекти, съвместимост на типовете. Форми на съвместимост – сравнение на езиците за ООП.
- Полиморфизъм – интуитивен смисъл, определение, видове (полиморфизъм по отношение на поведението, чист и параметричен полиморфизъм). Полиморфен код, полиморфни променливи. Начини на реализация на полиморфизъм в ООЕП.
- Множествено наследяване. Разрешаване на проблемите при. ООЕП с множествено наследяване.
- Обработка на изключения. Обработка на изключения в ООЕП. Начини за дефиниране, разпознаване (прихващане) и отговаряне (манипулатори на изключения) на изключения.
|
|
|
|