© 2021 - Все права защищены
Основная задача ООП - сделать сложный код проще. Для этого программу разбивают на независимые блоки, которые мы называем объектами.
🎁Объект - это набор данных и функций - таких же, как в традиционном функциональном программировании. Можно представить, что просто взяли кусок программы и положили его в коробку и закрыли крышку. Вот эта коробка с крышкой - объект.
Программисты решили, что данные внутри объекта будут называться свойствами, а функции - методами. Но по сути это те же переменные и функции.
Такой подход позволяет программировать каждый модуль независимо от остальных. Главное - заранее продумать, как модули будут общаться дуг с другом и по каким правилам.
При таком подходе вы можете улучшить работу одного модуля, не затрагивая остальные - для всей программы неважно, что внутри каждого блока, если правила работы остались прежними.
Плюсы ООП:
➕Визуально код становится проще, его легче читать. Когда все разбито на объекты и у них есть понятный набор правил, можно сразу понять, за что отвечает каждый объект и из чего он состоит.
➕Меньше одинакового кода. Если в обычном программировании одна функция считает повторяющиеся символы в одномерном массиве, а другая - в двумерном, то у них большая часть кода будет одинаковой. В ООП это решается наследованием.
➕Сложные программы пишутся проще. Каждую большую программу можно разложить на несколько блоков, сделать им минимальное наполнение, а потом раз за разом подробно наполнить каждый блок.
➕Увеличивается скорость написания. На старте можно быстро создать нужные компоненты внутри программы, чтобы получить минимально работающий прототип.
Минусы ООП:
➖Сложно понять и начать работать. Подход ООП намного сложнее обычного процедурного программирования.
➖Требует больше памяти. Объекты в ООП состоят из данных, интерфейсов, методов и много другого, а это занимает намного больше памяти, чем простая переменная.
➖Иногда производительность кода бывает ниже. Из-за особенностей подхода часть вещей может быть реализована сложнее, чем могла бы быть. Поэтому бывает такое, что ООП-программа медленнее, чем процедурная.
Какие языки являются объектно-ориентированными?
C#
C++
Java
JavaScript
PHP
Python
Lua
г. Магнитогорск, пр-т Ленина, д. 38, корп. 3, этаж 3.
Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.