Объектно-ориентированное программирование, далее ООП, не новая технология. Появилась давно и в последние годы стала популярной, т.к. позволяет значительно снизить порог вхождения при изучении языков программирования, ускорить процесс разработки и стандартизировать этот процесс.
Основная идея ООП — объединение данных и обрабатывающих их процедур в единое целое — объекты. Программа представляет из себя совокупность объектов, каждый из которых является реализацией определенного класса (особый тип данных), а классы образуют иерархию, которая может быть унаследована от других классов.
Галиматья, да? Сформулирую проще и своими словами. Когда я писал на ассемблере или на С для микроконтроллеров я управлял памятью, ссылками, кешами и регистрами. Надо нарисовать точку на экране, сиди пиши код для того чтобы вызвать какие либо примитивы доступные тебе и их помощью сделать задуманное. Через прерывания bios например В объектном программировании все так же и одновременно по другому. Нет никаких регистров, точнее есть они но так от нас скрыты что можно сказать что нет их. Есть обьект экран, view или еще как-нибудь. Он просто есть и содержится допустим в базовом фреймворке. Мы посылаем ему сообщение Нарисуй точку с таким оформление в в таких то координатах. Точка появилась. ВСЕ! т.е. мы вообще не заморочились непосредственно с процессом рисования точки. Если нужно чтобы точка была сенсорной, бы создаем новый класс на основе базового класса экрана и добавлем к нему свойства и методы реализующие сенсорность.
Появились экраны с большим разрешением? в базовом описываем их и в сенсорном они появляются тоже. Удобно. Быстро. Вот это и есть ООП. наследование как оно есть. Вся программа — куча обьектов которые обмениваются сообщениями и выполняют соответвующие действия. В команде можно писать каждый свой обьект и только договориться о стандартах протоколах общения. Попробуйте так в ассемблере? Можно конечно, но ой как муторно.
Основные понятия ООП
Объектно-ориентированное программирование базируется на нескольких понятиях.
Абстракция данных. Можно делать упрощенные классы, в которых не вся информация конкретизирована, но с которыми легче работать. Это позволяет очень просто создавать нужные классы при наследовании.
Наследование. На базе одного класса, создается другой класс, содержащий свойства и методы базового класса, его называют потомком.
Инкапсуляция. Чтобы пользователь наших программ не мог изменить что-то важное внутри программы, классы строятся таким образом, что напрямую работать с внутренними данными нельзя — только через методы.
Полиморфизм. Функции(методы) с одинаковыми именами будут обрабатываться по-разному при их вызове из разных классов.
Комментариев нет