Основы ООП | Как работают классы и объекты? | Объясняется с помощью диаграмм
Что мы скроем,
- Что такое ООП?
- Почему ООП?
- Объекты
- Классы
- Пример классов и объектов.
Что такое объектно-ориентированное программирование (ООП)?
ООП — это концепция программирования, которая организует разработку программного обеспечения на основе данных, а не функций и логики. Я упоминал похожие концепции программирования, также известные как парадигмы, в своем первом блоге Что такое парадигмы программирования?. Обязательно прочитайте это, прежде чем переходить к изучению объектно-ориентированного программирования.
Почемуобъектно-ориентированное программирование (ООП)?
В сегодняшнем мире цифровой революции каждое программное обеспечение, с которым вы сталкиваетесь, состоит из структурированной файловой системы, которая включает в себя красивый внешний дизайн и эффективный внутренний код. Вместе они дают нерушимую, защищенную, эффективную, с хорошей производительностью и полнофункциональную программу. Большинство (я имею в виду, как и все) программное обеспечение или программы, которые вы используете, построены с помощью ООП, что, конечно же, как следует из названия, «объектно-ориентированное» — обернутые объекты. Области, в которых применимо ООП, включают дизайн пользовательского интерфейса, системы реального времени, моделирование и моделирование, объектно-ориентированные базы данных и т. д.
В ООП вы будете создавать объекты, содержащие как данные, так и методы.
Данные здесь означают необработанные факты, которые вы назначите переменным внутри объекта.
Методы здесь — это функции определения внутри объекта. Это имеет несколько преимуществ перед процедурным программированием:
- ООП быстрее и проще в исполнении
- ООП обеспечивает четкую структуру для программ
- ООП избегает повторяющихся кодов, что упрощает поддержку, модификацию и отладку кода.
- ООП позволяет создавать полныеприложения многократного использования с меньшим количеством кода и более коротким временем разработки.
ООП фокусируется на объектах и классах, которыми разработчики могут манипулировать, следуя принципам объектно-ориентированного подхода, а именно:
- Инкапсуляция
- Наследование
- Абстракция
- Полиморфизм
Популярными языками ООП являются JAVA, C#, PHP, Python, C++ и т. д.
Итак, что такого особенного в использовании этой сложной парадигмы, когда мы могли бы использовать процедурную парадигму?
Поверьте, никто не помешает вам писать свои программы в одном очень длинном файле с сотнями функций и тысячами строк кода.
Если вы хоть раз будете следовать принципам объектно-ориентированного программирования, вы сможете создавать многоразовый, поддерживаемый, масштабируемый чистый код, который будет очень легко тестировать и отлаживать.
Класс
Что?
Класс — это шаблон, на основе которого создаются объекты. Он будет содержать данные(переменные)и поведения(методы), общие для всех объектов. Вы должны следовать приведенной ниже структуре, чтобы объявить класс,
Модификаторы доступа:это может быть общедоступный, частный, защищенный или заданный по умолчанию. Они должны быть упомянуты, когда вы создаете класс.
Ключевое слово класса:ключевое слово «класс» должно использоваться для создания класса.
Имя класса:за которым следует ключевое слово, вам нужно задать имя для класса.
Суперкласс (необязательно): должно быть указано имя родительского класса, если ему предшествует ключевое слово «extends». Класс может иметь только одного родителя.
Интерфейсы (необязательно): список интерфейсов должен быть указан через запятую. Класс может реализовывать более одного интерфейса.
Тело. Тело класса заключено в фигурные скобки {}.
Объекты
Что?
Это объекты реального мира, такие как автомобиль, стул, компьютер, часы и т. д. Они могут быть состоянием или поведением, физическим или логическим.
«Объекты всегда определяются как экземпляр класса». - учебники
Подробно
Объекты занимают некоторое место в памяти. Разработчик может создавать несколько подобных объектов и модифицировать существующие объекты с помощью программы/другого объекта. Изменение объектов может быть явно разрешено с помощью инкапсуляции, которую я объясню в ЧАСТИ — iii.
Создание объекта
- Объявить
Сначала мы должны объявить имя объекта как переменную в классе. - Создание экземпляра
Во-вторых, мы создаем экземпляр объекта, записывая ключевое слово «new» внутри метода «main». - Инициализация
В-третьих, мы инициализируем объект, вызывая конструктор.
Примеры классов и объектов
- Простой пример: создание учетной записи пользователя для социальной сети.
Предположим, что социальная сеть является объектно-ориентированной, тогда может существовать класс, определенный какclass userAccount
с такими атрибутами, как имя, фамилия. , адрес электронной почты, пол, возраст, пароль, изображение профиля, военное положение и т. д.
Без повторного создания этих свойств каждый раз, когда пользователь регистрируется, веб-скрипт просто создаст экземпляр theuserAccount
как объект с теми же атрибутами, который затем будет хранится в базе данных. - Расширенный пример: создание персонажа в игре.
Давайте рассмотрим игру под названием PUBG в качестве точки отсчета. Может существовать класс, определенный какclass player
, со стандартным поведением, таким как имя, область действия, перемещение, атака. Также могут быть другие классы для сбора поведения, такого как очки убийства, очки выживания, оружие, инвентарь и т. д.
Здесьclass player
считается родительским классом, а другие классы считаются a Дочерние классы.
После того, как мы создаем экземпляры объектов, оба объекта родительского и дочернего классов могут иметь свои собственные атрибуты и методы, а также наследовать их.
Например, может быть объект с именемAction
с поведением, таким как,Crawl(), Duck()
иStand()
, который вызывает поведение родительского объектаAttack()
, которое будет общим для всех дочерних объектов.