Основные Понятия Объектно-Ориентированного Программирования


Основные понятия ООП
Май 30, 2016 – 09:38
Основные понятия

Объектно-ориентированное программированиеОбъектно-ориентированное программирование (ООП)— это парадигма (совокупность понятий и идей) программирования, в рамках которой «во главу угла» ставят понятия объектов и классов. Сейчас ООП так или иначе присутствует во всех языках, поэтому понимание его основ просто необходимо для всех, кто собирается заняться программированием. Стоит сразу определить базовые понятия класса и объекта:

  • Класс — это шаблон, описание ещё не созданного объекта. Класс содержит данные, которые описывают строение объекта и его возможности, методы работы с ним;
  • Объект — экземпляр класса. То, что «рождено» по «чертежу», то есть по описанию из класса. В качестве примера объекта и класса можно привести технический чертёж для изготовления детали — это класс. Выточенная же на станке по размерам и указаниям из чертежа деталь — объект.

Появление объектно-ориентированного программирования стало результатом возросших требований к функционалу программ, когда описывать объект приходилось раз за разом в разных участках кода. Тогда и было введено понятие класса, параметры которого задавались единожды, а после в коде оставлялись только ссылки на класс, чтобы код самостоятельно «собрал» объект. На ООП-языке Java описание класса выглядит так:

Это код для окружности с заданными параметрами. Позднее при написании программы функцию вызова окружности можно будет внедрить с помощью добавления класса Circle, а не описывать его заново, что сильно экономит время, если, к примеру, мы пишем приложение для решения геометрических задач, где предусматриваются окружности разных диаметров и другие фигуры.

В качестве более живого примера объектно-ориентированного программирования можно привести мастерскую, где есть старший слесарь (программист) и ученики (разные участки кода). При устаревших парадигмах программирования старшему слесарю пришлось бы сначала объяснить ученику №0, как вырезать деталь (создать объект), затем ученику №1 то же самое, потом ученику №2 и так далее. ООП же даёт слесарю целую пачку бесконечных подробных чертежей (классов) деталей, которые он может раздавать ученикам вместо повторного объяснения (заведения описания объекта). Как нетрудно догадаться, это ускоряет работу и позволяет старшему слесарю уделить внимание более важным проблемам мастерской.

Объектно-ориентированное программирование выделяется не только описанной выше системой классов, вернее, её особенность не только в сохранении большого количества параметров. При упущении одного параметра, код приходилось перерывать от и до в поисках ошибки. Поэтому был разработан поведенческий аспект, что означало, что отныне классы могут не только служить вместилищем для данных, но и сами могли бы работать с ними: загружать, сохранять, изменять и выполнять другие операции.

В объектно-ориентированном программировании выделяют 4 основных принципа: абстракция, инкапсуляция, наследование и полиморфизм.

Понятие абстракции в объектно-ориентированном программировании

Абстракция — способ выделения самых значимых характеристик объекта, при этом менее значимые отбрасываются. В ООП абстракция — работа только со значимыми характеристиками. Суть этого принципа в том, чтобы отделить составные объекты, состоящие из «меньших» объектов, от этих самых объектов, то есть от их составляющих. Такой подход позволяет работать непосредственно с объектом, не вдаваясь в подробности, из чего же он состоит и как работает. Возвращаясь к примеру про слесарную мастерскую, принцип абстракции заключается в том, что старший слесарь не тратит своё время и ресурсы на определение, из чего ученик сделал деталь, а просто использует её по назначению.

Принцип инкапсуляции в ООП

Инкапсуляция — принцип объектно-ориентированного программирования, позволяющий собрать объект в пределах одной структуры или массива, убрав способ обработки данных и сами данные от «чужих глаз». Это одновременно и облегчает конечному пользователю работу с программой, и защищает данные и само приложение от постороннего вмешательства. Пользователь может работать со всем функционалом через интерфейс, не задумываясь над тем, как программа работает. Инкапсуляцию применяют:
Source: progstudy.ru
Похожие публикации