Наш канал в telegram

Памятка по ООП

Сегодняшняя статья представляет собой небольшую памятку, в которой кратко, в тезистной форме изложены основные понятия объектно-ориентированного программирования (ООП).

  1. Программа в ООП представляет собой набор взаимодействующих абстрактных объектов.
  2. Объекты имеют атрибуты (свойства, переменные). Эти атрибуты для объектов прописаны программистом.
  3. Над объектами можно выполнять операции (методы, действия, функции) с целью модификации этих или других объектов. Сами операции также прописываются для объектов программистом.
  4. ООП поддерживает инкапсуляцию (сокрытие данных). Это принцип, согласно которому данные внутри объекта доступны только через операции (методы) объекта, называемые интерфейсом объекта.
  5. Для однозначной идентификации объектов (отделения одного объекта от другого) используются дескрипторы (уникальные идентификаторы) объектов.
  6. Объекты, имеющие одинаковые атрибуты и методы группируются в классы. Это даёт программисту возможность не описывать каждый объект в отдельности, а вместо этого один раз описать класс объектов, а далее создавать необходимое количество экземпляров объектов описанного класса.
  7. При описании классов можно использовать вложенность (в ООП это называется наследованием). Допустим существует некий класс, описывающий общие свойства группы объектов. Если объекты в группе можно разделить по каким-либо признакам на ещё более мелкие подгруппы (у объектов есть свойства и/или методы не одинаковые для всей группы, но одинаковые для подгрупп), то можно создать классы, являющиеся наследниками исходного класса. Нужно просто указать, наследником какого класса являются новые классы и они автоматически получат все атрибуты и методы родительского класса. При этом новым классам можно добавить новых атрибутов и методов, характерных только для отдельных подгрупп объектов исходной группы. Класс, от которого происходит наследование называется родительским или суперклассом. Класс, который наследует, называется дочерним, а также подклассом или субклассом.
  8. ООП свойственен полиморфизм. То есть у разных классов могут быть одинаковые методы (одинаковые названия), которые выполняются по-разному (содержат разный программный код). То, какая именно операция будет выполняться, зависит от того, к какому классу принадлежит объект.
  9. C помощью специальных модификаторов — private, protected и public можно управлять видимостью атрибутов и методов, а также доступом к ним. Модификатор public (общедоступный) обозначает открытый доступ к помеченному им атрибуту или методу, возможный как внутри класса, так и снаружи. модификатор protected делает соответствующий атрибут или метод невидимым и недоступным снаружи класса, при этом такие атрибуты и методы наследуются при создании дочерних подклассов. Модификатор private делает помеченный им атрибут или метод не только недоступным снаружи класса, но ещё и не наследуемым при создании дочерних классов.
  10. Для подклассов допустимо переобъявлять унаследованные от родительского класса атрибуты и методы. Такой фокус называется перекрытием (overriding). При этом после переопределения новый метод или атрибут получает приоритет и при стандартном обращении мы получаем доступ именно к нему. Однако, доступ к унаследованному от родительского класса методу также сохраняется, просто для вызова этого метода теперь нужно использовать конструкцию вида: parent::method(), где parent — имя родительского класса, метод — имя вызываемого метода.
  11. Наследование и перекрытие могут иметь многоуровневую структуру.
  12. С помощью ключевого слова final можно запретить наследование и перекрытие. Если это слово использовать перед именем класса, то от такого класса нельзя будет создавать подклассы, а если использовать это слово перед атрибутом или методом, то их нельзя будет переопределить в дочернем подклассе.

Добавить комментарий