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

JAVA и Основы объектно-ориентированного программирования

Базовая теория JAVA и объектно-ориентированного программирования В деталях. С тегом java, ооп.

JAVA и Основы объектно-ориентированного программирования

Ашикур Рахман

Любая реальная сущность/объект состоит из двух частей

  • Свойства (Описывает его высоту, вес, ширину и т.д.)
  • Функциональность (Описывает, как она себя ведет)

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

  • Модульность (логика модульна)
  • Возможность повторного использования (код можно использовать повторно)
  • Расширяемый (код расширяемый)

Объект

Объект – это сущность, которая имеет

  • Личность (Имена)
  • Состояние (Значения)
  • Поведение (Производительность) Объект – это индивидуальное представление сущности реального мира.

Класс

Класс – это шаблон, помогающий описать общие

  • Атрибуты (например, идентификатор клиента, имя, номер телефона…)
  • Действия (например, покупка товара и т.д.) Пример реального субъекта (Заказчика)

Определение класса с другой точки зрения:

  • Класс – это объект чертежа/реального мира
  • Класс – это обобщенное представление
  • Класс – это инкапсуляция свойств и соответствующих функций Программа – это набор инструкций для решения задачи UML (Унифицированный язык моделирования) Диаграмма классов – это обозначение, используемое для представления класса в документе. Диаграмма классов – это разновидность UML. UML – это язык для визуализации, определения, построения и документирования программного обеспечения.

Модификатор доступа/указывает

(-) Частный: доступ возможен только изнутри класса, в котором он объявлен. (+) общедоступный: Может быть доступен из любого места

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

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

Абстракция: Скрывая ненужные детали и показывая только необходимые детали. Концепция определения существенных деталей, которые должны быть известны, и игнорирования несущественных деталей с точки зрения конечного пользователя. (Например: Имя метода и параметр должны быть известны, нам не нужно знать весь процесс)

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

Наследование: Понятия, которые позволяют определять обобщенные и специализированные характеристики и поведение. Специализированные сущности автоматически наследуют все свойства и поведение универсальной сущности.

  • Все обобщающие сведения будут присутствовать в родительском классе
  • Все детали специализации будут представлены в дочернем классе
  • Дочерний класс расширит родительский класс, чтобы получить свойства обобщения.

Полиморфизм: Если один и тот же метод ведет себя по-разному в разных ситуациях

Разработка объектно-ориентированной системы: 3 основных этапа

  • Объектно-ориентированный анализ (ООА)
  • Объектно-ориентированный дизайн (ООД)
  • Объектно-ориентированное программирование (ООП)

OOA: Анализ структуры проблемы и определение номера и названия класса УД: Продуманная структура класса, что должно содержать (атрибут и функциональность) ООП: Процесс реализации проектирования с использованием объектно-ориентированного языка программирования

Переменные-члены: Используется для представления состояния объекта/атрибута класса, называемого переменной-членом, также называемой глобальными переменными.

Модификатор доступа: Используется для доступа или скрытия атрибута и поведения класса

Следующий синтаксис может быть использован для создания объекта класса customer, а ссылка – это использование ссылочной переменной.

Клиент Клиент(); Custobject – Ссылочная переменная, а новый клиент() – это объект.

Архитектура JAVA состоит из 3 компонентов

  • Язык программирования JAVA
  • Байт-код JAVA
  • Виртуальная машина JAVA

.java -> .javac -> .класс ->Интерпретатор (Win32) или интерпретатор (Linux) или интерпретатор (Mac)

JAVA – это платформа на уровне байтового кода, независимая от платформы, независимость от которой зависит

  • Уровень исходного кода
  • Байтовый код/уровень исполняемого файла

.cpp или c++ не зависят от платформы на уровне исходного кода, но на исполняемом уровне это не так. Единственным компонентом в JAVA, зависящим от платформы, является JVM (виртуальная машина Java).

JVM – Преобразует байт-код в соответствующий язык машинного уровня и выполняет инструкции. JDK – Создание/разработка JAVA во время выполнения JRE – Среда выполнения/Комплект только для запуска и компиляции или преобразования кода в байт–код JVM -Интерпретатор/Чтение строки за строкой и преобразование байта в исполняемый файл

Во время выполнения программы хранение программы и данных осуществляется следующим образом:

  • Весь код java, хранящийся в памяти, называется сегментом кода
  • Все глобальные переменные, которые мы объявляем для класса, хранящегося в сегменте данных
  • Все переменные, которые объявляются внутри класса и вне всех функций, называются переменной-членом/глобальной переменной
  • Срок службы переменной-члена зависит от объекта
  • Ссылка, указывающая на вновь созданный объект, называется ссылочной переменной
  • Все сведения о классе должны присутствовать в {}

Частное int a; Публичное пустое geta(){}

Когда мы создаем объект, он находится в памяти кучи. Ключевое слово New возвращает вновь созданный объект. Ссылочная переменная – это простая переменная, используемая для доступа к объекту, созданному в памяти кучи. Main – это отправная точка выполнения любой Java-программы.

Оригинал: “https://dev.to/shuvocste/java-and-object-oriented-programming-basic–1f0j”