Plain Old Java Objects (POJO)

Tipos de Dados e Exceções em Java

Jim White

Java Developer

Visão geral: tipos de dados e exceções

  • Capítulo 1
    • Objetos Java simples (ou comuns)
    • Classes wrapper
    • Usando pacotes
  • Capítulo 2
    • Collections Framework
  • Capítulo 3
    • Exceções e tratamento de exceções

Como o Java lida com dados, problemas e erros? Esse é o tema do curso.

1 Photo by Mika Baumeister on Unsplash
Tipos de Dados e Exceções em Java

Objetos Java como estruturas de dados

  • Objetos Java armazenam e organizam dados.
    • Criados a partir de classes personalizadas
  • Guardam dados em fields
    • Agem como "malas" de dados do app
  • Chamados de POJOs
    • Plain ordinary Java object
    • Ou Plain old Java object
  • Objetos simples movem e guardam dados
    • Seguem algumas regras
    • Não têm lógica

Objetos Java, ou POJOs, funcionam como malas para carregar dados no app.

1 Photo by Caroline Selfors on Unsplash
Tipos de Dados e Exceções em Java

Getters e setters

  • Getters e setters são públicos
    • Fields são privados
  • Getters e setters protegem os dados em um POJO
    • Promovem encapsulamento
  • Escondem detalhes de implementação dos fields
Tipos de Dados e Exceções em Java

Diretrizes para classes POJO

  • Uma classe POJO deve:
    • Ser pública
    • Ter getters/setters públicos para todos os fields
      • Fields devem ser privados
    • Ter um construtor padrão (sem argumentos)

Classes POJO devem seguir estas regras

1 Photo by Anastasiya Badun on Unsplash
Tipos de Dados e Exceções em Java

O que NÃO fazer em POJOs

  • Uma classe POJO não deve:
    • Depender de um framework
    • Estender outras classes
    • Implementar qualquer interface
      • Exceto Serializable em alguns casos
    • Conter lógica de negócio
  • Às vezes essas regras são flexibilizadas
    • Tente manter os POJOs simples

Classes POJO não devem ter nenhuma dessas características

1 Photo by Anastasiya Badun on Unsplash
Tipos de Dados e Exceções em Java

Getters

  • Nomes de métodos getter
    • Começam com "get" (boolean usa "is")
    • Terminam com o nome do field
    • lower camel case
    • Exemplo: get + make = getMake
  • Não recebem parâmetros
  • Retornam o valor do field
  • Podem ocultar detalhes da implementação do field
    private String make;

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

    public boolean isOn() {
      if (on == 0) {
        return false;
      } else {
        return true;
      }
    }
Tipos de Dados e Exceções em Java

Setters

  • Nomes de métodos setter
    • Começam com "set" e terminam com o nome do field
    • lower camel case
    • Exemplo: set + make = setMake
  • Recebem um parâmetro — novo valor do field
    • Use this para distinguir field do parâmetro
  • Retornam void (nada)
  • Podem validar os dados
    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;
      }
    }
Tipos de Dados e Exceções em Java

Exemplo de POJO

  • Classe pública
  • Fields privados
  • Getters/setters públicos
    • Getters retornam o valor de um field
    • Setters definem o valor de um field
  • Construtor padrão / sem argumentos
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;
    }
}
Tipos de Dados e Exceções em Java

Vamos praticar!

Tipos de Dados e Exceções em Java

Preparing Video For Download...