Plain Old Java Objects (POJO)

Типи даних і винятки в Java

Jim White

Java Developer

Огляд типів даних і обробки винятків

  • Розділ 1
    • Звичайні Java-об'єкти
    • Класи-обгортки
    • Використання пакунків
  • Розділ 2
    • Collections Framework
  • Розділ 3
    • Винятки та обробка винятків

Як Java працює з даними та помилками? Це тема курсу.

1 Photo by Mika Baumeister on Unsplash
Типи даних і винятки в Java

Об'єкти Java як структури даних

  • Об'єкти Java зберігають і впорядковують дані.
    • Створені з користувацьких класів
  • Зберігають дані в полях
    • Працюють як «валізи» даних застосунку
  • Називаються POJO
    • Plain ordinary Java object
    • або Plain old Java object
  • Прості об'єкти Java переносять дані
    • Дотримуються певних правил
    • Не містять логіки

Об'єкти Java, або POJO, як валізи: зберігають і переносять дані в застосунку.

1 Photo by Caroline Selfors on Unsplash
Типи даних і винятки в Java

Getters і setters

  • Getter-и та Setter-и публічні
    • Поля приватні
  • Getter-и/Setter-и захищають дані в POJO
    • Сприяють інкапсуляції даних
  • Ховають деталі реалізації полів
Типи даних і винятки в Java

Рекомендації для класів POJO

  • Клас POJO має:
    • Бути public
    • Мати public getters/setters для всіх полів
      • Поля мають бути private
    • Мати конструктор за замовчуванням (без аргументів)

Класи POJO мають дотримуватись цих правил

1 Photo by Anastasiya Badun on Unsplash
Типи даних і винятки в Java

Чого не робити з POJO

  • Клас POJO не повинен:
    • Бути прив'язаним до фреймворку
    • Розширювати інші класи
    • Реалізовувати інтерфейси
      • Окрім Serializable у деяких випадках
    • Містити бізнес-логіку
  • І ці правила інколи послаблюють
    • Намагайтесь тримати POJO простими

Класи POJO не повинні мати жодної з цих рис

1 Photo by Anastasiya Badun on Unsplash
Типи даних і винятки в Java

Getters

  • Назви методів getter
    • Починаються з "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

Setters

  • Назви методів setter
    • Починаються з "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

  • Публічний клас
  • Приватні поля
  • Публічні getters/setters
    • Getters повертають значення поля
    • Setters встановлюють значення поля
  • Конструктор за замовчуванням / без аргументів
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...