Основы ООП | Как работают классы и объекты? | Объясняется с помощью диаграмм

Что мы скроем,

  1. Что такое ООП?
  2. Почему ООП?
  3. Объекты
  4. Классы
  5. Пример классов и объектов.

Что такое объектно-ориентированное программирование (ООП)?

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

Почемуобъектно-ориентированное программирование (ООП)?

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

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

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

ООП фокусируется на объектах и ​​классах, которыми разработчики могут манипулировать, следуя принципам объектно-ориентированного подхода, а именно:

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

Популярными языками ООП являются JAVA, C#, PHP, Python, C++ и т. д.

Итак, что такого особенного в использовании этой сложной парадигмы, когда мы могли бы использовать процедурную парадигму?

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

Класс

Что?
Класс — это шаблон, на основе которого создаются объекты. Он будет содержать данные(переменные)и поведения(методы), общие для всех объектов. Вы должны следовать приведенной ниже структуре, чтобы объявить класс,

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

Ключевое слово класса:ключевое слово «класс» должно использоваться для создания класса.

Имя класса:за которым следует ключевое слово, вам нужно задать имя для класса.

Суперкласс (необязательно): должно быть указано имя родительского класса, если ему предшествует ключевое слово «extends». Класс может иметь только одного родителя.

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

Тело. Тело класса заключено в фигурные скобки {}.

Объекты

Что?
Это объекты реального мира, такие как автомобиль, стул, компьютер, часы и т. д. Они могут быть состоянием или поведением, физическим или логическим.

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

Подробно
Объекты занимают некоторое место в памяти. Разработчик может создавать несколько подобных объектов и модифицировать существующие объекты с помощью программы/другого объекта. Изменение объектов может быть явно разрешено с помощью инкапсуляции, которую я объясню в ЧАСТИ — iii.

Создание объекта

  • Объявить
    Сначала мы должны объявить имя объекта как переменную в классе.
  • Создание экземпляра
    Во-вторых, мы создаем экземпляр объекта, записывая ключевое слово «new» внутри метода «main».
  • Инициализация
    В-третьих, мы инициализируем объект, вызывая конструктор.

Примеры классов и объектов

  • Простой пример: создание учетной записи пользователя для социальной сети.
    Предположим, что социальная сеть является объектно-ориентированной, тогда может существовать класс, определенный как class userAccount с такими атрибутами, как имя, фамилия. , адрес электронной почты, пол, возраст, пароль, изображение профиля, военное положение и т. д.
    Без повторного создания этих свойств каждый раз, когда пользователь регистрируется, веб-скрипт просто создаст экземпляр theuserAccount как объект с теми же атрибутами, который затем будет хранится в базе данных.
  • Расширенный пример: создание персонажа в игре.
    Давайте рассмотрим игру под названием PUBG в качестве точки отсчета. Может существовать класс, определенный как class player, со стандартным поведением, таким как имя, область действия, перемещение, атака. Также могут быть другие классы для сбора поведения, такого как очки убийства, очки выживания, оружие, инвентарь и т. д.
    Здесь class player считается родительским классом, а другие классы считаются a Дочерние классы.
    После того, как мы создаем экземпляры объектов, оба объекта родительского и дочернего классов могут иметь свои собственные атрибуты и методы, а также наследовать их.
    Например, может быть объект с именем Action с поведением, таким как, Crawl(), Duck() и Stand(), который вызывает поведение родительского объекта Attack(), которое будет общим для всех дочерних объектов.