Plain Old Java Objects (POJO)

Typy danych i wyjątki w Javie

Jim White

Java Developer

Typy danych i obsługa wyjątków – przegląd

  • Rozdział 1
    • Plain old Java objects
    • Klasy opakowujące
    • Używanie pakietów
  • Rozdział 2
    • Collections Framework
  • Rozdział 3
    • Wyjątki i obsługa wyjątków

Jak Java radzi sobie z danymi i problemami? To temat tego kursu.

1 Photo by Mika Baumeister on Unsplash
Typy danych i wyjątki w Javie

Obiekty Java jako struktury danych

  • Obiekty Java przechowują i organizują dane.
    • Tworzone z niestandardowych klas
  • Przechowują dane w polach
    • Pełnią rolę „walizek" na dane aplikacji
  • Nazywane POJO
    • Plain Ordinary Java Object
    • Lub Plain Old Java Object
  • Proste obiekty Java przechowują i przekazują dane
    • Spełniają określone reguły
    • Nie zawierają logiki

Obiekty Java (POJO) działają jak walizki – przechowują i przenoszą dane w aplikacji.

1 Photo by Caroline Selfors on Unsplash
Typy danych i wyjątki w Javie

Gettery i settery

  • Gettery i settery są publiczne
    • Pola są prywatne
  • Gettery i settery chronią dane w POJO
    • Wspierają enkapsulację danych
  • Ukrywają szczegóły implementacji pól
Typy danych i wyjątki w Javie

Wytyczne dotyczące klasy POJO

  • Klasa POJO powinna:
    • Być publiczna
    • Mieć publiczne gettery/settery dla wszystkich pól
      • Pola powinny być prywatne
    • Mieć domyślny konstruktor (bezargumentowy)

Klasy POJO powinny przestrzegać tych zasad

1 Photo by Anastasiya Badun on Unsplash
Typy danych i wyjątki w Javie

Czego unikać w POJO

  • Klasa POJO nie powinna:
    • Być powiązana z frameworkiem
    • Rozszerzać innych klas
    • Implementować żadnych interfejsów
      • Z wyjątkiem Serializable w niektórych przypadkach
    • Zawierać logiki biznesowej
  • Nawet te reguły bywają łagodzone
    • Staraj się zachować prostotę POJO

Klasy POJO nie powinny mieć żadnej z tych cech

1 Photo by Anastasiya Badun on Unsplash
Typy danych i wyjątki w Javie

Gettery

  • Nazwy metod getterów
    • Zaczynają się od „get" (gettery booleanowe od „is")
    • Kończą się nazwą pola
    • Notacja lowerCamelCase
    • Przykład: get + make = getMake
  • Nie przyjmują parametrów
  • Zwracają wartość pola
  • Gettery mogą ukrywać szczegóły implementacji pola
    private String make;

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

    public boolean isOn() {
      if (on == 0) {
        return false;
      } else {
        return true;
      }
    }
Typy danych i wyjątki w Javie

Settery

  • Nazwy metod setterów
    • Zaczynają się od „set", kończą nazwą pola
    • Notacja lowerCamelCase
    • Przykład: set + make = setMake
  • Przyjmują jeden parametr – nową wartość pola
    • Użyj this, aby odróżnić pole od parametru
  • Zwracają void (nic)
  • Mogą sprawdzać poprawność danych
    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;
      }
    }
Typy danych i wyjątki w Javie

Przykład POJO

  • Klasa publiczna
  • Prywatne pola
  • Publiczne gettery/settery
    • Gettery zwracają wartość pola
    • Settery ustawiają wartość pola
  • Domyślny konstruktor bezargumentowy
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;
    }
}
Typy danych i wyjątki w Javie

Czas na ćwiczenia!

Typy danych i wyjątki w Javie

Preparing Video For Download...