Plain Old Java Objects (POJO)

Типы данных и исключения в Java

Jim White

Java Developer

Обзор типов данных и обработки исключений

  • Глава 1
    • Простые Java-объекты
    • Классы-обёртки
    • Использование пакетов
  • Глава 2
    • Collections Framework
  • Глава 3
    • Исключения и их обработка

Как Java работает с данными, ошибками и исключениями? Этому посвящён курс.

1 Фото: Mika Baumeister, Unsplash
Типы данных и исключения в Java

Java-объекты как структуры данных

  • Java-объекты хранят и организуют данные.
    • Создаются на основе пользовательских классов
  • Хранят данные в полях
    • Выступают как «чемоданы» для данных приложения
  • Называются POJO
    • Plain Ordinary Java Object (простой Java-объект)
    • Или Plain Old Java Object
  • Простые Java-объекты хранят и передают данные
    • Следуют определённым правилам
    • Не содержат бизнес-логики

Java-объекты (POJO) работают как чемоданы — хранят и перемещают данные внутри приложения.

1 Фото: Caroline Selfors, Unsplash
Типы данных и исключения в Java

Геттеры и сеттеры

  • Геттеры и сеттеры — публичные
    • Поля — приватные
  • Геттеры и сеттеры защищают данные в POJO
    • Обеспечивают инкапсуляцию данных
  • Скрывают детали реализации полей
Типы данных и исключения в Java

Рекомендации для класса POJO

  • Класс POJO должен:
    • Быть публичным
    • Иметь публичные геттеры/сеттеры для всех полей
      • Поля должны быть приватными
    • Иметь конструктор по умолчанию (без аргументов)

Классы POJO должны следовать этим правилам

1 Фото: Anastasiya Badun, Unsplash
Типы данных и исключения в Java

Что не следует делать в POJO

  • Класс POJO не должен:
    • Быть привязан к фреймворку
    • Наследовать другие классы
    • Реализовывать интерфейсы
      • Исключение — Serializable в некоторых случаях
    • Содержать бизнес-логику
  • Эти правила иногда допускают исключения
    • Старайтесь сохранять POJO простыми

Классы POJO не должны обладать этими характеристиками

1 Фото: Anastasiya Badun, Unsplash
Типы данных и исключения в Java

Геттеры

  • Имена методов-геттеров
    • Начинаются с «get» (для boolean — с «is»)
    • Заканчиваются именем поля
    • Стиль lower camel case
    • Пример: get + make = getMake
  • Не принимают параметров
  • Возвращают значение поля
  • Геттеры могут скрывать детали реализации поля
    private String make;

    public String getMake() {
        return make;
    }
    private short on;

    public boolean isOn() {
      if (on == 0) {
        return false;
      } else {
        return true;
      }
    }
Типы данных и исключения в Java

Сеттеры

  • Имена методов-сеттеров
    • Начинаются с «set», заканчиваются именем поля
    • Стиль lower camel case
    • Пример: set + make = setMake
  • Принимают один параметр — новое значение поля
    • Используйте this, чтобы отличить поле от параметра
  • Возвращают void (ничего)
  • Могут проверять корректность данных
    private String make;

    public void setMake(String make) {
        this.make = make;
    }
    private int age;

    public void setAge(int age) {
      if ((age >= 0) && (age <= 120)) {
        this.age = age;
      }
    }
Типы данных и исключения в Java

Пример POJO

  • Публичный класс
  • Приватные поля
  • Публичные геттеры/сеттеры
    • Геттеры возвращают значение поля
    • Сеттеры устанавливают значение поля
  • Конструктор по умолчанию (без аргументов)
public class Car {   // POJO class is public
    private String model;  // Fields are private
    private int year;

    // Default no arg constructor

    // Public getters to access POJO data
    public String getModel() {
        return model;
    }
    public int getYear() {
        return year;
    }
    // Public setters to set POJO fields
    public void setModel(String model) {
        this.model = model;
    }
    public void setYear(int year) {
        this.year = year;
    }
}
Типы данных и исключения в Java

Давайте потренируемся!

Типы данных и исключения в Java

Preparing Video For Download...