- Autor
- Nome
- Nelson Silva
- Social
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
- Encapsulamento: Refere-se à bundling de dados (atributos) e métodos que operam nesses dados em uma única unidade (ou seja, uma classe).
- Herança: Permite que uma classe herde atributos e métodos de outra classe. Isso promove a reutilização de código.
- 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.