Объектно-ориентированное программирование — ООП!
Полное руководство!
ООП — Ообъектно-ориентированное Опрограммирование! (Видеоверсия этого блога есть на YouTube, смотрите здесь)
Краткий обзор ООП
ООП — это просто причудливый способ сказать, что все экземпляры классов являются объектами.
Например, у вас есть список книг, и каждая книга является классом. У вас есть функция для чтения ваших книг и т. д.
Видите, я только что привел реальный пример с использованием терминов кодирования?!
В ООП вы можете думать обо всем как о реальных объектах.
Ваш редактор кода — это ваша мастерская, а ваш проект — цель мастерской (так мне нравится думать об этом).
Допустим, вы создаете приложение-библиотеку (поскольку мы уже использовали этот пример ранее).
Ваш редактор кода (скажем, VSCode) — это ваша мастерская (библиотека в данном случае).
Вы создаете список variable
(), где храните все свои книги, и эта переменная представляет собой полку в вашей библиотеке.
Затем вы создаете class
(или вы, вероятно, сначала создадите класс, лол) книги, где вы определяете все характеристики книги, это может быть то, как вы определяете книгу в своей библиотеке.
Вы поняли.
ООП — это способ разработки ваших проектов!
Думайте об этом как о способе проектирования систем. Который доступен для всех (если не для большинства) языков кодирования!
И поскольку это механизм проектирования (именно так я его называю), у него есть пара целей и принципов!
Цели
Это то, чего вы должны попытаться достичь при разработке системы ООП.
Надежность
Проще говоря, программа, которая выдает правильные выходные данные для всех ожидаемых входных данных в приложении программы, но также способна обрабатывать неожиданные входные данные.
Например, вы можете захотеть, чтобы в конце формы электронной почты всегда было @gmail.com
. Возможно, ваши пользователи не добавляют @gmail.com
ваше приложение должно справиться с этим!
Адаптивность
Ваша программа должна развиваться с течением времени в соответствии с новыми тенденциями и потребностями рынка!
Например, сейчас (на сайтах электронной коммерции) в тренде чат-боты. Может быть, позже, вместо чат-ботов, будет тенденция говорить с ИИ вашим голосом, а не переписываться с ними! Ваше приложение должно иметь возможность развиваться.
Возможность повторного использования
Один и тот же код должен использоваться в разных частях приложения. Не пишите очень специфичные функции! Вместо этого пишите функции общего назначения.
Например, вместо функции, в которой вы фильтруете одну конкретную модель (из базы данных), у вас есть функция, в которой вы можете фильтровать каждую модель с любым выбранным полем, вам просто нужно передать параметры!
Принципы
Это подходы (думайте о них как о методах) для достижения целей, упомянутых выше.
Модульность
Модульность означает наличие различных компонентов (в вашем приложении), каждый из которых имеет свои собственные функции.
Другими словами, держите все в порядке.
Не втискивайте все в одно место, найдите место для всего!
Абстракция
Абстракция означает разбиение системы на ее самые фундаментальные (простейшие) компоненты!
Что-то вроде Разделяй и властвуй!
Инкапсуляция
Различные компоненты приложения не должны раскрывать внутренние детали соответствующих реализаций.
Инкапсуляция дает вам свободу кодирования для конкретных компонентов (это противоречит тому, что я сказал о возможности повторного использования, однако иногда нам нужно добавлять определенные функции в наши компоненты).