Понимание объектов:

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

Давайте рассмотрим эти характеристики через простой аспект. Например, рассмотрим класс, который может хранить сведения об ученике, он может хранить имя, номер списка, оценки и посещаемость. Вы можете создать несколько объектов (студентов) для этого класса.

Абстракция:

Одной из наиболее успешных идей объектной ориентации является абстракция. Технически это означает, что «из сложности получается простота». Наш мир использует абстракцию для управления хаосом. Например, возьмем аналогию с программным обеспечением реального времени. Давайте возьмем программное обеспечение для моделирования или подобное ему программное обеспечение.

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

1.setPins(целое число);

2.drawIC();

3.giveVoltage(двойное напряжение)

4.takeOutput();

Любая микросхема, реализующая интерфейс IntegratedChip, должна реализовать и инициализировать эти методы. Другими словами, IntegratedChip — это абстрактная идея всех чипов (которая содержит только идею объявления, а не то, как это сделать). Конечно, у всех разные характеристики, такие как входное напряжение и номер контакта.

Некоторые фишки имеют меньше, чем другие. Но основная идея создания IntegratedChip одинакова для всех. И это абстракция. Интерфейсы и абстрактные классы являются основным инструментом в Java для реализации абстракции. Главное, нет объекта для абстрактных классов.

Хотя абстракция представляет вышеуказанные значения, термин варьируется в зависимости от точки зрения цели. Например, мы можем создать абстракцию для объектов по их действию, модели, по их управлению поведением. Если мужчина — это общая абстракция, то мужчины и женщины — это конкретные сущности, а с других точек зрения добро и зло конкретизированы. Таким образом, абстракция меняется в зависимости от точки зрения, следует внимательно следить за ней при разработке объектно-ориентированного программного или аппаратного обеспечения.

Наследование:

В реальном мире один объект является продуктом другого. у такого отца и сына поведение отца, а у отца деды. Подобно подклассу и суперклассу, класс может наследовать другой класс, чтобы получить его поведение. Если вы когда-либо работали на Java, вы, возможно, знаете, что такое потоки, потоки, которые можно запускать, ожидать, откладывать и замечать. Если вы хотите, чтобы ваш класс обладал этими характеристиками, что вы делаете? вам нужно получить поведение класса. таким образом, вы наследуете класс, используя ключевое слово «extends», например — «ваш класс расширяет Thread». Для этого существует огромное количество примеров. Конечно, мы всегда соотносим один объект с другим. Если мы расширяем JFrame при разработке Swing GUI, мы можем рассматривать этот класс как фрейм. Короче говоря, подкласс наследует поведение от суперкласса. И еще один пример, в группе в социальных сетях, рассматривает принцип участников.

Администратор группы также является участником, поэтому член группы также наследует атрибуты члена. Конечно, администратор также имеет свои особые атрибуты.

Возьмем традиционный офис, там есть сотрудники, помощники менеджеров и менеджеры.

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

Инкапсуляция:

Класс содержит методы, подобные оболочке. Но концепция инкапсуляции во многом ориентирована на защиту доступа к ним. Многие программисты неправильно поняли этот термин «защита доступа», поскольку здесь можно защитить пароли и коды. Нет, это сетевые вещи, инкапсуляция другая. Конечно, они используются для защиты доступа к методам внутри класса или непосредственно к классам и переменным. Вот вопрос, почему?. Хорошо, давайте возьмем пример.

Вот класс для рисования прямоугольного треугольника. В классе есть три метода: draw(), setAngle(), drawLines(). В этом классе извне доступен только метод draw(), потому что пользователь может неправильно использовать такие переменные, как угол, или вызывать другие методы ненадлежащим образом, это может разрушить цель этого класса.Представьте, если пользователь сознательно или неосознанно изменяет угол на 60 градусов, будет ли он больше рисовать прямоугольный треугольник?. Короче говоря, пользователю разрешено получать доступ к интерфейсу только для этих классов, ему не нужно заботиться об их внутреннем устройстве и работе.

класс RightAngleTriangle{

частный угол = 90;

рисовать(){

canvasDraw(угол);

}

}

основной класс{

rightangleInstance.draw();

}

Здесь угол является частным, потому что если пользователь изменит его, это повредит всей цели этого класса или экземпляра. Таким образом, инкапсуляция — надежный метод для различения того, что нужно пользователю, и что ему не нужно. Это как щит вокруг мощного двигателя. Он производит внутренние детали, а также внешние элементы. Цель – получить от этого пользу.

Полиморфизм:

Рассмотрим прямоугольник, вы можете нарисовать его двумя способами, один по длине и другой по длине поперечного сечения. вы можете создать два метода для этого, да, но что, если пользователь может использовать одно и то же имя метода? Конечно, это перегрузка метода. drawRec(int l,int h) и drawRec(int c). Является ли полиморфизм только об этом?

Абсолютно нет. Он может обеспечить мощное динамическое поведение во время выполнения за счет использования интерфейсов или абстрактных классов.

Рассмотрим приведенный ниже пример,

Форма интерфейса{

аннулировать розыгрыш();

}

класс квадрат {

рисовать(){

// рисуем квадрат

}

}

класс Круг{

рисовать(){

// рисуем круг

}

}

Если объекты формы перечислены вместе и повторяются, чтобы вызвать метод draw(). JVM автоматически идентифицирует объект и правильно вызывает его индивидуальный метод. Это мощный полиморфный инструмент с точки зрения объектной ориентации. давайте возьмем тот же пример из приведенной выше абстракции темы, все это форма, так что.

Форма sq=новый квадрат();

Форма ci=новый круг();

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

for(int i=0;i‹selectedShapeList.size();i++)

{

выбранныйСписокФорм[i].draw();

}

здесь нет необходимости вызывать отдельные методы отрисовки для разных фигур, таких как квадрат, круг или прямоугольник. Мы можем вызывать только общий метод (он не должен быть нулевым).