Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон...

38
Уводна лекция Трифон Трифонов Обектно-ориентирано програмиране, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11

Upload: others

Post on 31-Jul-2020

31 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Уводна лекция

Трифон Трифонов

Обектно-ориентирано програмиране,спец. Компютърни науки, 1 поток,спец. Софтуерно инженерство,

2016/17 г.

23 февруари 2017 г.

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11

Page 2: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Организационни

Екип

Компютърни науки, 1 поток:1 група семинар: Дафина Зотева1 група практикум: Дафина Зотева2 група семинар: Боян Киров2 група практикум: Марио Дончев, Стамен Драгоев3 група семинар: Дафина Зотева3 група практикум: Владимир Начев, Яна Георгиева4 група семинар: Димитър Узунов4 група практикум: Алекс Николов

Софтуерно инженерство:4 група семинар: Николай Стойков5 група семинар: Алекс Сърбински6 група семинар: Никола Димитров

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 2 / 11

Page 3: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Организационни

Схема за оценяване

Минимално ниво (Среден 3)Кратък тест с въпроси върху материалаПровежда се по време на семестъраПрактическа част (програма или фрагмент код)Теоретични въпроси (затворени или отворени с кратък отговор)

Средно и високо ниво (Добър 4 и Много добър 5)Изпит през сесиятаТест с две нива, високото ниво се отключва след преминаване насреднотоПрактическа задача с две нива на трудност

Отлично ниво (Отличен 6)Разработване на курсов проектЗащита на проект през сесията

Всяко следващо ниво изисква успешно преминаване напредишнотоТекущият контрол няма да е определящ за оценката

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 3 / 11

Page 4: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Организационни

Learn.fmi

https://learn.fmi.uni-sofia.bg/

Общ курс за всички специалностиУчебни материали

Обектно-ориентирано програмиране 2016/17

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 4 / 11

Page 5: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Организационни

ООП-практикум

Избираема дисциплинаНеобходимо е да се запише в СУСИ в рамките на кампанията заизбираеми дисциплиниСилно препоръчително е записванетоСофтуерно инженерство могат да посещават часовете попрактикум заедно с Компютърни науки както следва:

4 група СИ: заедно с 6 група КН5 група СИ: заедно с 5 или 8 група КН6 група СИ: заедно с 2 или 4 група КН

ОценяванеОтделна оценка от ООПКонтролно през семестъра (50%)Защита на проект (50%)

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 5 / 11

Page 6: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Вече знаем че на C++ можем да напишем всичко, което може дасе напише на компютър

Всъщност, за това ни трябват само int[], if и while

Какво повече ни трябва?Искаме да пишем програми, които са

лесни за четене и разбиранелесни за писане и промянаудобни за използване от други разработчициудобни за работа от много хора едновременно

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 6 / 11

Page 7: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Вече знаем че на C++ можем да напишем всичко, което може дасе напише на компютърВсъщност, за това ни трябват само int[], if и while

Какво повече ни трябва?Искаме да пишем програми, които са

лесни за четене и разбиранелесни за писане и промянаудобни за използване от други разработчициудобни за работа от много хора едновременно

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 6 / 11

Page 8: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Вече знаем че на C++ можем да напишем всичко, което може дасе напише на компютърВсъщност, за това ни трябват само int[], if и while

Какво повече ни трябва?

Искаме да пишем програми, които са

лесни за четене и разбиранелесни за писане и промянаудобни за използване от други разработчициудобни за работа от много хора едновременно

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 6 / 11

Page 9: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Вече знаем че на C++ можем да напишем всичко, което може дасе напише на компютърВсъщност, за това ни трябват само int[], if и while

Какво повече ни трябва?Искаме да пишем програми, които са

лесни за четене и разбиранелесни за писане и промянаудобни за използване от други разработчициудобни за работа от много хора едновременно

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 6 / 11

Page 10: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Вече знаем че на C++ можем да напишем всичко, което може дасе напише на компютърВсъщност, за това ни трябват само int[], if и while

Какво повече ни трябва?Искаме да пишем програми, които са

лесни за четене и разбиране

лесни за писане и промянаудобни за използване от други разработчициудобни за работа от много хора едновременно

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 6 / 11

Page 11: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Вече знаем че на C++ можем да напишем всичко, което може дасе напише на компютърВсъщност, за това ни трябват само int[], if и while

Какво повече ни трябва?Искаме да пишем програми, които са

лесни за четене и разбиранелесни за писане и промяна

удобни за използване от други разработчициудобни за работа от много хора едновременно

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 6 / 11

Page 12: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Вече знаем че на C++ можем да напишем всичко, което може дасе напише на компютърВсъщност, за това ни трябват само int[], if и while

Какво повече ни трябва?Искаме да пишем програми, които са

лесни за четене и разбиранелесни за писане и промянаудобни за използване от други разработчици

удобни за работа от много хора едновременно

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 6 / 11

Page 13: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Вече знаем че на C++ можем да напишем всичко, което може дасе напише на компютърВсъщност, за това ни трябват само int[], if и while

Какво повече ни трябва?Искаме да пишем програми, които са

лесни за четене и разбиранелесни за писане и промянаудобни за използване от други разработчициудобни за работа от много хора едновременно

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 6 / 11

Page 14: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Обектно-ориентираното програмиране (ООП) е стил напрограмиране

Дава удобен начин за представянето на реални проблеми и задачив език за програмиранеВъвежда дисциплина и структура в програмите, което ги правипо-разбираемиЗадава правила, които правят разширяването и използването напрограми по-лесноСтимулира използването на интуитивни имена и понятия

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 7 / 11

Page 15: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Обектно-ориентираното програмиране (ООП) е стил напрограмиранеДава удобен начин за представянето на реални проблеми и задачив език за програмиране

Въвежда дисциплина и структура в програмите, което ги правипо-разбираемиЗадава правила, които правят разширяването и използването напрограми по-лесноСтимулира използването на интуитивни имена и понятия

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 7 / 11

Page 16: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Обектно-ориентираното програмиране (ООП) е стил напрограмиранеДава удобен начин за представянето на реални проблеми и задачив език за програмиранеВъвежда дисциплина и структура в програмите, което ги правипо-разбираеми

Задава правила, които правят разширяването и използването напрограми по-лесноСтимулира използването на интуитивни имена и понятия

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 7 / 11

Page 17: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Обектно-ориентираното програмиране (ООП) е стил напрограмиранеДава удобен начин за представянето на реални проблеми и задачив език за програмиранеВъвежда дисциплина и структура в програмите, което ги правипо-разбираемиЗадава правила, които правят разширяването и използването напрограми по-лесно

Стимулира използването на интуитивни имена и понятия

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 7 / 11

Page 18: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Какво е обектно-ориентирано програмиране?

Обектно-ориентираното програмиране (ООП) е стил напрограмиранеДава удобен начин за представянето на реални проблеми и задачив език за програмиранеВъвежда дисциплина и структура в програмите, което ги правипо-разбираемиЗадава правила, които правят разширяването и използването напрограми по-лесноСтимулира използването на интуитивни имена и понятия

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 7 / 11

Page 19: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Митове за ООП

ООП е универсалното решение

по-скоро едно от възможните решенияима предимства, но и недостатъци

Само някои програмни езици стават за ООП

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

ООП е иновативна концепция

всъщност датира от 60-те години на миналия векC е създаден през 1972 г., а C++ през 1979 г.

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 8 / 11

Page 20: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Митове за ООП

ООП е универсалното решениепо-скоро едно от възможните решения

има предимства, но и недостатъциСамо някои програмни езици стават за ООП

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

ООП е иновативна концепция

всъщност датира от 60-те години на миналия векC е създаден през 1972 г., а C++ през 1979 г.

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 8 / 11

Page 21: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Митове за ООП

ООП е универсалното решениепо-скоро едно от възможните решенияима предимства, но и недостатъци

Само някои програмни езици стават за ООП

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

ООП е иновативна концепция

всъщност датира от 60-те години на миналия векC е създаден през 1972 г., а C++ през 1979 г.

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 8 / 11

Page 22: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Митове за ООП

ООП е универсалното решениепо-скоро едно от възможните решенияима предимства, но и недостатъци

Само някои програмни езици стават за ООП

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

ООП е иновативна концепция

всъщност датира от 60-те години на миналия векC е създаден през 1972 г., а C++ през 1979 г.

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 8 / 11

Page 23: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Митове за ООП

ООП е универсалното решениепо-скоро едно от възможните решенияима предимства, но и недостатъци

Само някои програмни езици стават за ООПООП е стил, а не език

някои езици наистина са по-удобни, но всеки език допуска ООПвсички съвременни езици имат добра поддръжка за ООП

ООП е иновативна концепция

всъщност датира от 60-те години на миналия векC е създаден през 1972 г., а C++ през 1979 г.

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 8 / 11

Page 24: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Митове за ООП

ООП е универсалното решениепо-скоро едно от възможните решенияима предимства, но и недостатъци

Само някои програмни езици стават за ООПООП е стил, а не езикнякои езици наистина са по-удобни, но всеки език допуска ООП

всички съвременни езици имат добра поддръжка за ООПООП е иновативна концепция

всъщност датира от 60-те години на миналия векC е създаден през 1972 г., а C++ през 1979 г.

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 8 / 11

Page 25: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Митове за ООП

ООП е универсалното решениепо-скоро едно от възможните решенияима предимства, но и недостатъци

Само някои програмни езици стават за ООПООП е стил, а не езикнякои езици наистина са по-удобни, но всеки език допуска ООПвсички съвременни езици имат добра поддръжка за ООП

ООП е иновативна концепция

всъщност датира от 60-те години на миналия векC е създаден през 1972 г., а C++ през 1979 г.

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 8 / 11

Page 26: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Митове за ООП

ООП е универсалното решениепо-скоро едно от възможните решенияима предимства, но и недостатъци

Само някои програмни езици стават за ООПООП е стил, а не езикнякои езици наистина са по-удобни, но всеки език допуска ООПвсички съвременни езици имат добра поддръжка за ООП

ООП е иновативна концепция

всъщност датира от 60-те години на миналия векC е създаден през 1972 г., а C++ през 1979 г.

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 8 / 11

Page 27: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Митове за ООП

ООП е универсалното решениепо-скоро едно от възможните решенияима предимства, но и недостатъци

Само някои програмни езици стават за ООПООП е стил, а не езикнякои езици наистина са по-удобни, но всеки език допуска ООПвсички съвременни езици имат добра поддръжка за ООП

ООП е иновативна концепциявсъщност датира от 60-те години на миналия век

C е създаден през 1972 г., а C++ през 1979 г.

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 8 / 11

Page 28: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Митове за ООП

ООП е универсалното решениепо-скоро едно от възможните решенияима предимства, но и недостатъци

Само някои програмни езици стават за ООПООП е стил, а не езикнякои езици наистина са по-удобни, но всеки език допуска ООПвсички съвременни езици имат добра поддръжка за ООП

ООП е иновативна концепциявсъщност датира от 60-те години на миналия векC е създаден през 1972 г., а C++ през 1979 г.

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 8 / 11

Page 29: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Основната идея

Представяне на частите от решаваната задача като набор отобекти, които включват в себе си данни и методи заобработката на тези данни

Еднотипни обекти се групират в класовеМетодите включват

конструктори (функции за построяване на обекти)селектори (функции за достъп до компоненти на обекти)мутатори (функции за промяна на компоненти на обекти)и много други

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 9 / 11

Page 30: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Основната идея

Представяне на частите от решаваната задача като набор отобекти, които включват в себе си данни и методи заобработката на тези данниЕднотипни обекти се групират в класове

Методите включват

конструктори (функции за построяване на обекти)селектори (функции за достъп до компоненти на обекти)мутатори (функции за промяна на компоненти на обекти)и много други

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 9 / 11

Page 31: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Основната идея

Представяне на частите от решаваната задача като набор отобекти, които включват в себе си данни и методи заобработката на тези данниЕднотипни обекти се групират в класовеМетодите включват

конструктори (функции за построяване на обекти)селектори (функции за достъп до компоненти на обекти)мутатори (функции за промяна на компоненти на обекти)и много други

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 9 / 11

Page 32: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Някои основни принципи

Абстракция със структури от даннипредставянето на данните е отделено от използването им

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

методите работят със „собствените“ данни на обекта

Наследяване

един клас от обекти може да разширява друг вече съществуващклас като използва наготово функционалността му

Генеричност

обработване на различни класове обекти по универсален начин

Полиморфизъм

обработване на различни класове обекти по специфичен за тяхначин

Динамично свързване

извиканият метод се определя по време на изпълнение, взависимост от обекта, а не от класа на който принадлежи

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 10 / 11

Page 33: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Някои основни принципи

Абстракция със структури от даннипредставянето на данните е отделено от използването им

Отворена рекурсияметодите работят със „собствените“ данни на обекта

Наследяване

един клас от обекти може да разширява друг вече съществуващклас като използва наготово функционалността му

Генеричност

обработване на различни класове обекти по универсален начин

Полиморфизъм

обработване на различни класове обекти по специфичен за тяхначин

Динамично свързване

извиканият метод се определя по време на изпълнение, взависимост от обекта, а не от класа на който принадлежи

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 10 / 11

Page 34: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Някои основни принципи

Абстракция със структури от даннипредставянето на данните е отделено от използването им

Отворена рекурсияметодите работят със „собствените“ данни на обекта

Наследяванеедин клас от обекти може да разширява друг вече съществуващклас като използва наготово функционалността му

Генеричност

обработване на различни класове обекти по универсален начин

Полиморфизъм

обработване на различни класове обекти по специфичен за тяхначин

Динамично свързване

извиканият метод се определя по време на изпълнение, взависимост от обекта, а не от класа на който принадлежи

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 10 / 11

Page 35: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Някои основни принципи

Абстракция със структури от даннипредставянето на данните е отделено от използването им

Отворена рекурсияметодите работят със „собствените“ данни на обекта

Наследяванеедин клас от обекти може да разширява друг вече съществуващклас като използва наготово функционалността му

Генеричностобработване на различни класове обекти по универсален начин

Полиморфизъм

обработване на различни класове обекти по специфичен за тяхначин

Динамично свързване

извиканият метод се определя по време на изпълнение, взависимост от обекта, а не от класа на който принадлежи

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 10 / 11

Page 36: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Някои основни принципи

Абстракция със структури от даннипредставянето на данните е отделено от използването им

Отворена рекурсияметодите работят със „собствените“ данни на обекта

Наследяванеедин клас от обекти може да разширява друг вече съществуващклас като използва наготово функционалността му

Генеричностобработване на различни класове обекти по универсален начин

Полиморфизъмобработване на различни класове обекти по специфичен за тяхначин

Динамично свързване

извиканият метод се определя по време на изпълнение, взависимост от обекта, а не от класа на който принадлежи

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 10 / 11

Page 37: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Някои основни принципи

Абстракция със структури от даннипредставянето на данните е отделено от използването им

Отворена рекурсияметодите работят със „собствените“ данни на обекта

Наследяванеедин клас от обекти може да разширява друг вече съществуващклас като използва наготово функционалността му

Генеричностобработване на различни класове обекти по универсален начин

Полиморфизъмобработване на различни класове обекти по специфичен за тяхначин

Динамично свързванеизвиканият метод се определя по време на изпълнение, взависимост от обекта, а не от класа на който принадлежи

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 10 / 11

Page 38: Уводна лекция - uni-sofia.bg...23 февруари 2017 г. Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 1 / 11 Организационни

Базови сведения за ООП

Да започваме!

Трифон Трифонов (ООП 16/17) Уводна лекция 23 февруари 2017 г. 11 / 11