Publicado em

Classes e Objetos em Java

Partilhar:

Introdução

O Java, sendo uma linguagem orientada a objetos, possui seu alicerce construído em torno do conceito de classes e objetos. Neste artigo, exploraremos esses conceitos fundamentais e como eles se inter-relacionam na construção de aplicações robustas.

O que são Classes?

Classes em Java podem ser consideradas como modelos ou blueprints para criar objetos. Elas encapsulam os dados para o objeto e os métodos para operar nesses dados.

  • Atributos: Representam as propriedades de um objeto. Por exemplo, um carro tem cor, marca e modelo como atributos.
  • Métodos: Representam o comportamento. Continuando com o exemplo do carro, os métodos poderiam ser arrancar(), frear() e acelerar().

O que são Objetos?

Um objeto é uma instância de uma classe. Quando criamos um objeto, estamos essencialmente criando uma instância dessa classe, dotada de seu próprio estado e comportamento.

Conceitos Fundamentais da OOP

  1. Encapsulamento: Refere-se à bundling de dados (atributos) e métodos que operam nesses dados em uma única unidade (ou seja, uma classe).
  2. Herança: Permite que uma classe herde atributos e métodos de outra classe. Isso promove a reutilização de código.
  3. Polimorfismo: Capacidade de um objeto assumir muitas formas. O polimorfismo em Java é conseguido através da sobrecarga (overloading) e da substituição (overriding) de métodos.

Exemplo Prático

Vamos considerar um exemplo onde temos uma classe que representa um "Inimigo" em um jogo.

package com.caffeinealgorithm.programaremjava;

public class ClassesEObjetos {
  private int vidas = 5;

  public void ataque() {
    System.out.println("Eu fui atacado e perdi uma vida.");
    vidas -= 1;
  }

  public void verificarVida() {
    if (vidas <= 0)
      System.out.println("Eu estou morto porque não tenho mais vidas.");
    else
      System.out.printf("Eu ainda estou em combate e tenho %d vidas.\n", vidas);
  }
}

No exemplo acima, a classe ClassesEObjetos tem um atributo vidas e dois métodos, ataque() e verificarVida().

package com.caffeinealgorithm.programaremjava;

public class Main {
  public static void main(String[] args) {
    var inimigo1 = new ClassesEObjetos();
    var inimigo2 = new ClassesEObjetos();

    inimigo1.ataque(); // Eu fui atacado e perdi uma vida.
    inimigo1.ataque(); // Eu fui atacado e perdi uma vida.
    inimigo1.ataque(); // Eu fui atacado e perdi uma vida.
    inimigo1.verificarVida(); // Eu ainda estou em combate e tenho 2 vidas.
    inimigo2.verificarVida(); // Eu ainda estou em combate e tenho 5 vidas.
  }
}

Conclusão

Classes e objetos são pilares do paradigma de programação orientada a objetos em Java. Compreender como eles trabalham juntos é essencial para escrever programas Java eficientes e escaláveis.

Happy coding!