Слайд 2Переход от процедурного подхода к ООП

Слайд 3Пока в процедурном программировании…
Шаг 0. Всё в одной функции

Слайд 4Все еще в процедурном программировании…
Шаг 1. Вынесение дублирующегося кода в функцию

Слайд 5Все еще в процедурном программировании…
Шаг 1. Использование функции

Слайд 6Структуры в процедурной (структурной) парадигме
Шаг 2. Выделение структуры и использование в качестве

параметров функции
Слайд 7Структуры в процедурной (структурной) парадигме
Шаг 3. Выделение структуры и использование в качестве

параметров функции
Слайд 8Структуры в процедурной (структурной) парадигме
Шаг 3. Использование структуры

Слайд 9Начинаем переходить к ООП
Шаг 4. Переход к классам: объединение данных 
и операций

над ними
Слайд 10Начинаем переходить к ООП
Шаг 4. Реализация класса Point

Слайд 11Пример внедрения ООП в код
Шаг 4. Использование возможностей класса

Слайд 12Пример внедрения ООП в код
Шаг 5. Использование классов в качестве основы других

классов
Слайд 13Пример внедрения ООП в код
Шаг 5. Реализация класса Triangle

Слайд 14Пример внедрения ООП в код
Шаг 5. Использование класса Triangle

Слайд 15Пример непонимания ООП
Не делайте так:
Использование примитивных типов вместо созданных классов

Слайд 16Пример непонимания ООП
Не делайте так:
Передача состояния объекта через параметры методов: непонимание связи

состояния и поведения объекта
Слайд 18Класс на C++
// объявление класса
class Box 
{
private: 
int _width;
int _height;
int _length;
public: 
Box(int

width, int height, int length);
int getVolume();
void printBox();
}
Слайд 19Класс на C++
// определение конструктора и методов класса
Box::Box(int width, int height, int

length) 
{
	_width = width;
	_height = height;
	_length = length;
}
int Box::getVolume() 
{
	return _width * _height * _length;
}
void Box::printBox() 
{
	printf(“Box: %d %d %d ”, _width, _height, _length);
	printf(“Volume = %d\n”, getVolume());
}
Слайд 20Тот же класс на Java
public class Box {
private int _width;
private int _height;
private

int _length;
public Box(int width, int height, int length) {
	_width = width;
	_height = height;
	_length = length;
}
public int getVolume() {
	return _width * _height * _length;
}
public void printBox() {
	System.out.print(“Box: ”+ _width + _height + _length);
	System.out.println(“Volume = ” + getVolume());
}
}