Объектно-ориентированное программирование (ООП):это парадигма, которая предоставляет множество концепций, таких как наследование, привязка данных, полиморфизм и т. д.

Он используется для структурирования программы в простые повторно используемые фрагменты кода (обычно называемые классами), которые используются для создания отдельных экземпляров объектов. Существует множество объектно-ориентированных языков программирования, включая JavaScript, C++, Java и Python.

Почему ООП популярны по сравнению с другими типами принципов программирования?

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

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

Языки, поддерживающие объектно-ориентированное программирование: C++, Java, JavaScript, C#, PHP и т. д.
И языки, полностью ориентированные на объектно-ориентированное программирование или чистое Объектно-ориентированные — python, Ruby, Scala и т. д.

Основной элемент ООП

  • Объект. Любая сущность, имеющая состояние и поведение, называется объектом. например стул, ручка, стол, клавиатура, велосипед и т. д. Это может быть физическим и логическим.
  • Класс . Класс может быть указан как план объекта. Это указывает, что объект может делать. Он содержит все функции, атрибуты и поведение модели. Можно сказать, что класс содержит определение объекта.
    пример — цвет автомобиля, тип двигателя и т. д.
  • Методы. Методы — это атрибуты класса, которые определены для заданного поведения объекта. Он также может изменять состояние класса.
    пример — метод управления автомобилем. Он изменяет состояние автомобиля с парковочного на рабочее.
  • Экземпляры: это члены класса, которые содержат некоторые значения, связанные с объектами класса.

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

  1. Инкапсуляция
  2. Абстракция
  3. Наследование
  4. Полиморфизм

1. Инкапсуляция

Инкапсуляция может быть определена как связывание данных и атрибутов или методов и элементов данных в одном блоке.

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

Преимущество инкапсулированного кода в том, что пользователь знает, как получить к нему доступ, нет необходимости в деталях реализации.

2. Абстракция

Абстракция может быть определена как сокрытие внутренней реализации и отображение только необходимых функций или набора предлагаемых услуг.

3.Наследование

Когда один объект приобретает все свойства и поведение родительского объекта, то есть известное как наследование. Он обеспечивает возможность повторного использования кода. Он используется для достижения полиморфизма во время выполнения.

Одиночное наследование определяется как наследование, при котором производный класс наследуется только от одного базового класса.

где A — базовый класс, а B — производный класс.

Множественное наследование — это процесс создания нового класса, который наследует атрибуты двух или более классов.

Многоуровневое наследование — это процесс наследования класса от другого производного класса.

Иерархическое наследование определяется как процесс получения нескольких классов из базового класса.

Гибридное наследование — это сочетание нескольких типов наследования.

4. Полиморфизм

Полиморфизм означает возможность брать более одного из. Полиморфизм — одна из важнейших особенностей объектно-ориентированного программирования.

Полиморфизм позволяет одному и тому же методу выполнять различное поведение двумя способами: переопределением метода и перегрузкой метода.

Переопределение метода: полиморфизм времени выполнения использует переопределение метода. При переопределении метода дочерний класс может предоставлять реализацию, отличную от родительского класса.

Перегрузка метода: полиморфизм времени компиляции использует перегрузку метода. Методы или функции могут иметь одно и то же имя, но разное количество параметров, передаваемых при вызове метода. В зависимости от количества переданных параметров могут получиться разные результаты.

Конструкторы

Конструктор — это специальная функция-член класса, которая инициализирует себя при создании объекта класса.

Это специальная функция, потому что ее имя совпадает с именем класса.

Задача конструктора — инициализировать объект класса. Он называется конструктором, потому что он конструктор значения членов данных.

Деструкторы

Деструктор используется для уничтожения объекта, созданного конструктором.

Как и конструктор, деструктор является функцией-членом, имя которой такое же, как имя класса, но ему предшествует плитка ().

Деструктор никогда не принимает никаких аргументов и не возвращает никакого значения. Он неявно вызывается компилятором при выходе из программы.

Собственно деструктор очищает или очищает память, т.е. работает как сборщик мусора. Хорошей практикой программирования является объявление деструктора для освобождения памяти для будущего использования.

Заключение

Объектно-ориентированное программирование требует продумывания структуры программы и планирования в начале написания кода.

Внедрение ООП позволяет улучшить структуры данных и повторное использование, экономя время в долгосрочной перспективе.

Если вы хотите глубоко погрузиться в ООП, у Educative есть курсы по ООП в:

  • C++
  • Джава
  • JavaScript
  • питон
  • C#

Спасибо, что прочитали . Следите за новостями !!