11.1 Estrutura de Classes e Objetos em Java: Definição de Classe
Java é uma linguagem de programação orientada a objetos, o que significa que ela utiliza o conceito de "objetos" para modelar o mundo real. Os objetos são criados a partir de "classes", que são os blocos de construção fundamentais da programação em Java. Para entender como programar em Java, é essencial compreender o que são classes e como elas funcionam.
O que é uma Classe?
Uma classe em Java é um plano ou um modelo a partir do qual os objetos são criados. A classe define o estado e o comportamento que os objetos do tipo criado a partir dela terão. O estado de um objeto é representado por "atributos" (também conhecidos como campos ou variáveis de instância), e o comportamento é representado por "métodos" (funções ou procedimentos da classe).
As classes são definidas usando a palavra-chave class
seguida pelo nome da classe e um bloco de código delimitado por chaves {}
que contém a definição dos atributos e métodos.
public class Carro {
// Atributos
String marca;
String modelo;
int ano;
// Métodos
void acelerar() {
// Código para acelerar o carro
}
void frear() {
// Código para frear o carro
}
}
Atributos de uma Classe
Os atributos são as variáveis que cada objeto criado a partir da classe terá como parte de seu estado. Eles são definidos dentro da classe, mas fora de qualquer método. Os atributos podem ser de qualquer tipo de dado, incluindo tipos primitivos (como int
, double
, boolean
) ou tipos de objeto (como String
ou objetos de outras classes).
Métodos de uma Classe
Os métodos são as funções que definem o comportamento dos objetos da classe. Eles são usados para manipular os atributos dos objetos ou para realizar outras tarefas que estão relacionadas ao objeto. Os métodos são definidos dentro da classe e podem ter parâmetros e um tipo de retorno (ou ser void
se não retornarem nada).
Construtores
Além dos atributos e métodos, as classes em Java podem ter "construtores", que são blocos de código especiais que são chamados quando um novo objeto da classe é criado. Os construtores têm o mesmo nome da classe e podem ser usados para inicializar os atributos do objeto ou para executar qualquer código de configuração necessário.
public class Carro {
String marca;
String modelo;
int ano;
// Construtor
public Carro(String marca, String modelo, int ano) {
this.marca = marca;
this.modelo = modelo;
this.ano = ano;
}
}
Instanciando Objetos
Para criar um objeto a partir de uma classe, usamos a palavra-chave new
seguida pelo nome da classe e pelos argumentos necessários para o construtor, se houver.
Carro meuCarro = new Carro("Toyota", "Corolla", 2020);
Quando você cria um novo objeto, uma instância da classe é criada na memória e uma referência a essa instância é atribuída à variável (neste caso, meuCarro
).
Encapsulamento
Encapsulamento é um dos princípios fundamentais da programação orientada a objetos. Ele diz respeito à restrição do acesso direto aos componentes da classe, protegendo os dados internos e forçando a interação com eles por meio de métodos. Em Java, isso é feito usando modificadores de acesso como private
, protected
e public
.
Ao definir os atributos como private
, eles não podem ser acessados diretamente de fora da classe. Em vez disso, métodos públicos, conhecidos como "getters" e "setters", são usados para obter e definir os valores dos atributos.
public class Carro {
private String marca;
private String modelo;
private int ano;
// Getter e Setter para marca
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
// Outros getters e setters...
}
Com esse entendimento sobre a definição de classes em Java, você estará bem equipado para começar a modelar seus próprios objetos e criar programas mais complexos e bem estruturados.