Рубрики
Без рубрики

Общая концепция ООП.

Будучи новичком в технической области, зная один из объектно-ориентированных языков программирования в… С тегами codenewbie, womenintech, productivity, java.

Быть новичком в технической области, детально зная один из объектно-ориентированных языков программирования, ПРОСТО НЕОБХОДИМО!

Позвольте мне добавить к этому. Здесь мы НЕ собираемся обсуждать “Какой язык выбрать, чтобы действовать DSA?” или “Должны ли мы выбрать C++? Java или Python?”

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

Строительные блоки ООП?

Да! Вы все правильно поняли. В любом интервью, когда бы вы ни утверждали, что знаете о языке объектно-ориентированного программирования (ООП), ожидается, что у вас будет четкое представление об ООП.

Помимо всего прочего, один вопрос, который, скорее всего, вас заденет, касается: |/”Каковы важные особенности ООП?”

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

Позвольте мне ознакомить вас с некоторыми терминами, прежде чем мы действительно начнем.

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

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

Нет. Это определенно не тот яблочный пирог, который мы едим но это что-то связанное с ООП. Снова любопытно. Не так ли?

Позволь мне растопить лед. PIE здесь относится к основным строительным блокам ООП. Давайте посмотрим!

  1. P – P полиморфизм
  2. I – I наследование
  3. E – E инкапсуляция

E – || E || инкапсуляция

E – E инкапсуляция

E – E инкапсуляция Если мы разделим термин, мы увидим, что Поли означает “много” , а морфизм означает “формы или формы”.

Лучшим примером для понимания полиморфизма было бы Поведение человека.

Как?!

Человек может быть счастлив в этот момент, а в следующий момент он может быть грустным или злым. Здесь действует один человек множественные эмоции. Вот как работает полиморфизм! Достаточно общительный?

Технически полиморфизм позволяет нам определять один интерфейс с несколькими реализациями.

Давайте рассмотрим типы полиморфизма. Он имеет 2 типа.

  1. Полиморфизм во время компиляции
  2. Полиморфизм во время выполнения

Давайте взглянем украдкой!

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

Это также известно как полиморфизм во время компиляции, потому что решение о том, какой метод должен быть вызван, принимается компилятором во время компиляции. Это также известно как Статический полиморфизм или Раннее связывание , потому что компилятор разрешает вызовы методов на основе списка аргументов и ссылки |/, по которой мы вызываем метод.

Ниже приведен фрагмент кода для перегрузки

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

Это также известно как Динамический полиморфизм или Поздняя привязка , потому что здесь переопределенный вызов метода разрешается во время выполнения. Именно тип объекта, на который ссылаются, определяет, какая версия переопределенного метода будет выполнена.

Ниже приведен фрагмент кода для переопределения.

Давайте теперь посмотрим на “I” PIE !

“I” в PIE означает Наследование. Я предполагаю, что вы человек красоты (внутренней и/или внешней) с мозгом, так откуда же у вас эти качества?

Конечно, вы, должно быть, унаследовали эти качества от своих родителей! Именно так работает концепция наследования. Эта концепция позволяет дочернему классу наследовать функции своего родительского класса.

Зачем нам нужно наследование?

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

Позвольте мне пояснить это на примере.

Мы используем многоразовые или многоразовые ручки для письма на бумаге, так что, как только чернила закончатся, нам не нужно менять или покупать совершенно новую ручку, вместо этого нам нужно купить новую заправку. Здесь мы используем ту же старую ручку с новой заправкой. Здесь старое перо – это Родительский класс/| и новое пополнение – это Дочерний класс с его новыми функциями.

Именно так работает концепция наследования. Звучит интересно, не так ли?

Позвольте мне задать вопрос. Знаете ли вы о термине “Множественное наследование”/|? Да? Нет? или ни один из них, может быть.

Итак, Множественное наследование – это та концепция ООП, при которой дочерний класс наследует свойства более чем одного родительского класса.

Факт : Множественное наследование не поддерживается Java, поскольку компилятор становится неоднозначным относительно того, какой метод родительского класса вызывать.

Ниже приведен фрагмент кода для понимания наследования.

И последнее, но не менее важное: давайте съедим последний кусок ПИРОГА, то есть последнюю букву “Е”, которая означает Инкапсуляция .

По сути, сам термин “инкапсуляция” определяет действие по включению чего-либо, как если бы это была капсула, т.Е. Это упаковка данных в единый блок.

Скрытие Инкапсуляции + Абстракция Данных.

Итак, что это такое?

Подожди! Давайте сначала разделим уравнение, а потом взглянем украдкой!

Согласно уравнению, мы видим, что Сокрытие данных – это процесс, который скрывает внутренние данные от вас (пользователя), в то время как Абстракция данных – это процесс, при котором определенная внутренняя реализация определенного набора сервисов скрыта от вас (пользователя), и пользователю предоставляется только необходимая информация.

Давайте рассмотрим инкапсуляцию с помощью примера.

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

Таким образом, основная цель инкапсуляции – убедиться, что конфиденциальный набор данных скрыт от вас (пользователя).

Таким образом, изучение ООП поможет вам во многих отношениях, таких как,

• Faster Development.
• Reuse of Previous work.
• Helps in better mapping to the Problem Domain.
• Also plays an important role in Client/Server Applications.

Теперь, когда вы знаете об основах ООП, освоение среды разработки станет проще.

А до тех пор продолжайте исследовать и учиться!

Счастливого кодирования!

Оригинал: “https://dev.to/enakshi_pal/the-pie-concept-of-oop-2gn5”