Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Classes e Objetos em Java: Guia Prático

Classes e Objetos em Java

Descubra como o modelo de classe e objeto do Java transforma conceitos do mundo real em código reutilizável.

Java é fundamentalmente orientado a objetos. Ele divide problemas complexos em entidades gerenciáveis e auto-contidas — objetos — cada um com estado e comportamento.

Um objeto pode ser qualquer coisa que guarde dados (estado) e ofereça ações (comportamento). Por exemplo, uma bicicleta tem:

Antes de mergulharmos em objetos, vamos explorar o modelo que os define: uma classe.


Classe em Java

Uma classe é o modelo a partir do qual objetos são instanciados. Pense nela como uma planta de casa que especifica andares, portas e janelas. Múltiplas casas podem ser construídas da mesma planta, assim como muitos objetos podem ser criados de uma única classe.


Criando uma Classe em Java

Defina uma classe com a palavra-chave class:

class NomeDaClasse {
    // campos
    // métodos
}

Campos (variáveis) guardam o estado de um objeto, enquanto métodos encapsulam seu comportamento.

Exemplo: uma classe Bicycle.

class Bicycle {
    // estado
    private int gear = 5;
    // comportamento
    public void braking() {
        System.out.println("Funcionamento do Freio");
    }
}

Aqui, Bicycle é um protótipo. Múltiplas instâncias de bicicleta podem ser criadas, cada uma compartilhando a mesma estrutura mas guardando dados independentes.

Nota: private e public são modificadores de acesso que controlam visibilidade. Para mais detalhes, veja modificadores de acesso Java.


Objetos em Java

Um objeto é uma instância de uma classe. Por exemplo, Bicycle é a classe, e MountainBicycle, SportsBicycle, TouringBicycle, etc., são objetos distintos derivados daquela classe.

Criando um Objeto em Java

Instancie um objeto com a palavra-chave new e o construtor da classe:

nomeDaClasse objeto = new nomeDaClasse(); // Para Bicycle
Bicycle sportsBicycle = new Bicycle();
Bicycle touringBicycle = new Bicycle();

Construtores são métodos especiais que compartilham o nome da classe. Para leitura adicional, explore Construtores Java.

Nomes como sportsBicycle e touringBicycle servem como referências para suas respectivas instâncias.

Múltiplas instâncias da mesma classe podem coexistir sem interferir umas nas outras.

Nota: Campos e métodos de classe são coletivamente conhecidos como membros.


Acessando Membros de uma Classe

Use o operador ponto com uma referência de objeto para alcançar seus membros:

class Bicycle {
    int gear = 5;
    void braking() {
        // ...
    }
}
Bicycle sportsBicycle = new Bicycle();
sportsBicycle.gear;
sportsBicycle.braking();

Aqui, sportsBicycle acessa o campo gear e invoca o método braking().

No próximo capítulo, exploraremos métodos Java em profundidade.

Abaixo está um exemplo completo que une esses conceitos.


Exemplo: Classes e Objetos em Java

class Lamp {
    // Rastreia se a lâmpada está acesa
    boolean isOn;
    void turnOn() {
        isOn = true;
        System.out.println("Luz acesa? " + isOn);
    }
    void turnOff() {
        isOn = false;
        System.out.println("Luz acesa? " + isOn);
    }
}
class Main {
    public static void main(String[] args) {
        Lamp led = new Lamp();
        Lamp halogen = new Lamp();
        led.turnOn();
        halogen.turnOff();
    }
}

Saída:

Luz acesa? true
Luz acesa? false

Neste programa, Lamp define uma variável de instância isOn e dois métodos que a manipulam. A classe Main cria dois objetos lâmpada — led e halogen — e invoca seus métodos independentemente.

Cada objeto mantém sua própria cópia de isOn, garantindo que operações em uma lâmpada não afetem a outra.


Exemplo: Criando Objetos Dentro da Mesma Classe

Objetos também podem ser instanciados dentro da mesma classe que os define. Veja como:

class Lamp {
    boolean isOn;
    void turnOn() {
        isOn = true;
        System.out.println("Luz acesa? " + isOn);
    }
    public static void main(String[] args) {
        Lamp led = new Lamp();
        led.turnOn();
    }
}

Saída

Luz acesa? true

Este padrão é útil para pequenas demonstrações ou classes utilitárias onde a lógica principal reside dentro da mesma classe.

Java

  1. Classes e Objetos em C++: Guia Prático de Programação Orientada a Objetos
  2. Variáveis e Literais em Java: Guia Completo
  3. Entendendo a Palavra-chave final em Java: Variáveis, Métodos e Classes
  4. Operador instanceof em Java: Guia Completo
  5. Classes e Métodos Abstratos em Java: Guia Completo
  6. Dominando Classes Aninhadas e Internas em Java: Tipos, Exemplos e Boas Práticas
  7. Entendendo Classes Aninhadas Estáticas em Java: Uso, Diferenças e Exemplos
  8. Dominando Classes Internas Anônimas em Java: Definição, Sintaxe e Exemplos Práticos
  9. Padrão Singleton em Java Explicado: Como Implementar e Usar com Segurança
  10. Dominando Reflection em Java: Inspecionando Classes, Métodos e Campos em Tempo de Execução