keyown = 0
4th December 2015  /  12 19

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

В настоящее время иногда всё ещё раздаются голоса по поводу того, что объектно-ориентированное программирование (ООП) это не есть что-то необходимое и даже не есть что-то полезное (см., например, здесь). Часто это из-за того, что у авторов нет чёткого понимания о том, что же такое ООП, в чём его суть и где те самые удобства, которые оно даёт. Здесь мы рассмотрим достаточно яркие примеры, иллюстрирующие пользу ООП и то, как, зачем и почему оно появилось.
Рассмотрим пример работы с изображениями. Как известно в случае с компьютером изображение, картинка, фотография – это всего лишь точки (пиксели) с разной яркостью и цветом на экране монитора. В памяти компьютера яркость и цвет каждой точки изображения закодированы числами, и эти числа хранятся в таблице, где количество строк – высота картинки, количество столбцов – её ширина, а каждая конкретная ячейка таблицы содержит характеристики конкретного пикселя. Такую таблицу ещё называют массивом. Так вот, чтобы работать с изображением, нам необходимо знать имя массива в котором хранятся значения яркости и цвета каждой точки, а также нам необходимо знать размеры этого массива (высоту и ширину изображения). Так как если у нашего изображения, например, 100 столбцов, а мы попытаемся прочитать из памяти числа, там, где по нашему мнению 101 столбец, то прочитать-то мы эту память прочитаем, однако при выводе на экран этого 101 столбца получим что-то, что не относится к нашему изображению (так как, то, что относится к изображению лежит лишь в пределах 100 столбцов).


Поэтому, чтобы считывать из памяти то, что относится к изображению необходимо знать где, в каких пределах памяти содержится информация об этом изображении, а для этого необходимо знать его размеры. Таким образом, практика показывает, что изображение это массив, содержащий яркости и цвета пикселей и размеры этого массива. Поэтому удобно в одном месте (под одним именем, в качестве одной структуры) хранить всю необходимую информацию для работы с данным изображением – его массив и размеры этого массива. Вот мы уже и подошли к первой идее, предшествующей ООП – это идея структуры. Как известно (см., например, здесь) структура является, по сути, предтечей класса и объединяет в себе данные разного типа. В примере с изображением мы объединили данные типа массива и данные типа переменных – размеры массива.
Следующий пример. Пусть нам необходима функция для работы с некоторыми данными. Пусть в процессе работы этой функции ей необходимо создавать



Link

WWW+Programming






The basic of programming
The basic of WWW programming.
PHP
OTHERS PROGRAMMING & SEARCH WORK
Studying and teaching
Geo:Russia & other NIS

Work out
Вернуться к рассматриваемой записи