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

Применяя это к программированию, парадигма означает, на что мы будем разделять предметную область или то, что мы собираемся автоматизировать. Помним, что программирование — это про автоматизацию чего-то. Для того чтобы автоматизировать, мы должны в голове разделить задачу (декомпозировать) на какие-то элементы.

что такое ооп простыми словами

ООП создано, чтобы упростить чтение и понимание кода. Ведь по своей природе человеку свойственно воспринимать мир как набор объектов, что такое ооп простыми словами которые поддаются классификации. Это как раз основная суть взаимоотношений между классами и объектами, описанная выше.

Что такое аннексия и ее отличие от оккупации: рассказываем простыми словами

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

что такое ооп простыми словами

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

Плюсы и минусы объектно-ориентированного программирования

Объясним наследование ООП для чайников на простом примере. На заводе по выпуску автомобилей необходимо модернизировать модельный ряд и добавить туда новые функции. У нас есть предыдущие модели, которые мы берем за основу (разрабатывать с нуля нет смысла). Всё самое удачное мы наследуем от прежних автомобилей, дополняя и меняя что-то по необходимости. Зачем писать полностью новый код, если можно взять его часть, основу, из предыдущих разработок? Не нужно каждый раз создавать новый класс или объект с полным набором опций.

что такое ооп простыми словами

Это всего лишь набор данных и функций — таких же, как в традиционном функциональном программировании. Можно представить, что просто взяли кусок программы и положили его в коробку и закрыли крышку. И чтобы
пользователь класса не мог случайно или намеренно вмешаться в его внутреннюю
работу, данные и методы можно скрывать.

Процедурная парадигма

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

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

Недостатки ООП

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

  • Это называется спагетти-код, и для борьбы с ним как раз придумали объектно-ориентированное программирование.
  • Обычно объекты в подобном коде представляют собой полноценные блоки с данными, которые имеют определенный набор характеристик и возможностей.
  • Из этого термина можно сделать вывод, что ООП — это такой подход к программированию, где на первом месте стоят объекты.
  • А можно написать один полиморфный метод, а потом использовать его для каждого нового объекта — и вот это как раз наш случай.
  • Чтобы создать метод, который будет иметь доступ к объекту и сможет менять данные в нем, в JS используется ключевое слово this.

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

Объектно-ориентированная парадигма

В практике PHP ООП используются разные среды разработки, привычные девелоперу. Также нет особых требований к веб-серверу, хотя большинство разработчиков пользуются Open Server. Вся необходимая документация по классам и объектам ООП PHP представлена на официальном сайте.

Для чего нужен полиморфизм

В результате может образоваться много плохо читаемого, перемешанного кода — «спагетти-кода» или «лапши». Если вы тот самый человек, который сейчас выбирает курс по обучению программированию, подумайте над тем, что в этом курсе вам собираются дать. Я рассказал вам фактически все, что вы должны знать про саму парадигму ООП.

関連記事

  1. 10 советов, как освоить тайм-менеджмент для работы HealthyLand

  2. Работа: тестировщик игр Вакансии и работа в Украине

  3. Курс Тестировщик ПО с нуля: обучение на платформе Skillbox на инженера по тестированию QA engineer онлайн

  4. Юзабилити тестирование что это и как его провести

  5. Образовательно-квалификационные уровни Украины

  6. Введение Язык программирования Rust