01 введение
.pdf01 – 1
Новосибирский государственный технический университет Кафедра автоматизированных систем управления
ПРОГРАММИРОВАНИЕ
Курс лекций
Автор – Шахмаметов Рашид Ганиевич
Новосибирск
2013
01 – 2
Объем учебной работы
Лекции |
- 38 |
час. |
Практические |
- 19 |
ч. |
Лабораторные |
- 36 |
час. |
Курсовая работа |
|
|
Экзамен |
|
|
01 – 3
ВВЕДЕНИЕ В ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (ООП)
1.1.Сущность ООП
1)Естественный процесс восприятия окружающего мира человеком
Материальный мир Конкретные объекты Не-материальный мир Конкретные объекты
Конкретный объект (КО) СвойстваМетоды поведения
01 – 4
КО материального мира “Миша Иванов”
Свойства:
возраст – 6 месяцев, рост – 60 см, вес – 5 кг, цвет глаз – серый, цвет волос – русый, …
Методы поведения:
плакать, кушать, спать, ползать, моргать, …
КО не-материального мира “баба-яга”
Свойства:
возраст – вечность, число голов – 1, …
Методы поведения:
колдовать, наводить порчу, летать, …
01 – 5
2) Естественный процесс познания человека
ЭТАП 1.
Образы КО Обобщенный образ = Понятие
Понятия 1-й ур-нь абстракции
01 – 6
Понятие 1-го уровня абстракции
Множество образов конкретных собак =
{“Жучка”, “Рекс”, “Мухтар”, …}
Понятие = “собака”
Понятие Абстрактный объект (АО)
Абстрактный объект (АО) СвойстваМетоды поведения
01 – 7
АО “собака”
Свойства:
порода, возраст, рост, вес, длина шерсти, окрас, нрав, кличка, … Методы поведения:
кушать, спать, лаять, выть, вилять хвостом, играть, кусаться, сторожить, …
Экземпляры:
Жучка, Рекс, Мухтар, …
АО “нечистая сила”
Свойства:
возраст, число голов, число рогов, наличие шерсти, цвет кожи, … Методы поведения:
колдовать, наводить порчу, летать, устраивать шабаш, … Экземпляры:
Кащей Бессмертный, Змей Горыныч, …
01 – 8
ЭТАПЫ 2, 3, ….
Понятие 2-го уровня абстракции
Мн-во понятий 1-го уровня = {собака, кошка, корова, коза} → Понятие = “домашнее животное”
СОЗНАНИЕ ЧЕЛОВЕКА =
{ неупорядоченное множество КО; древовидное множество АО } + механизм абстрактных рассуждений
01 – 9
3) ОО-модель разработки программ
Класс Экземпляр класса = Объект класса
Иерархия классов
Инкапсуляция
Наследование
Полиморфизм
Представление предметной |
|
|
01 – 10 |
||||
Организация данных приложения |
|||||||
области в сознании программиста |
|||||||
Образы |
|
|
|
|
|
Классы |
|
абстрактных |
|
|
|
|
|
|
|
объектов (понятия) |
|
Cn |
|
|
Kn |
||
|
|
Cn-1 |
C’n-1 |
|
Kn-1 |
K’n-1 |
|
|
|
… |
|
|
… |
|
|
|
|
C2 |
|
|
K2 |
|
|
|
C1 |
|
C’1 |
K1 |
|
K’1 |
|
Образы |
I |
I’ |
|
E |
E’ |
Экземпляры |
|
конкретных |
|
классов 1-го |
|||||
объектов |
|
|
|
|
|
уровня (объекты) |
|
|
|
Ci , Ki – понятие и класс i-го уровня абстракции |