11. Estrutura de Classes e Objetos em Java

Java é uma linguagem de programação orientada a objetos, o que significa que ela utiliza objetos para representar dados e métodos para operar nesses dados. A estrutura de classes e objetos é fundamental para entender como Java funciona. Vamos explorar essa estrutura passo a passo.

Classes em Java

Uma classe é um modelo ou um blueprint para objetos. Ela define um tipo de dados, especificando os dados que um objeto pode conter e os métodos que podem operar nesses dados. As classes em Java são definidas usando a palavra-chave class.


public class Carro {
    // Atributos da classe
    private String marca;
    private String modelo;
    private int ano;

    // Construtor da classe
    public Carro(String marca, String modelo, int ano) {
        this.marca = marca;
        this.modelo = modelo;
        this.ano = ano;
    }

    // Métodos da classe
    public void acelerar() {
        System.out.println("O carro está acelerando.");
    }

    // Getters e Setters
    public String getMarca() {
        return marca;
    }

    public void setMarca(String marca) {
        this.marca = marca;
    }
}

Neste exemplo, a classe Carro tem três atributos (marca, modelo e ano), um construtor para inicializar esses atributos e um método acelerar para realizar uma ação. Além disso, temos métodos getters e setters que são usados para acessar e modificar os valores dos atributos privados.

Objetos em Java

Um objeto é uma instância de uma classe. Quando criamos um objeto, estamos criando uma entidade que possui os atributos e comportamentos definidos pela classe. Para criar um objeto em Java, usamos a palavra-chave new e chamamos o construtor da classe.


public class Main {
    public static void main(String[] args) {
        // Criando um objeto da classe Carro
        Carro meuCarro = new Carro("Toyota", "Corolla", 2020);

        // Chamando um método do objeto
        meuCarro.acelerar();
    }
}

Aqui, meuCarro é um objeto da classe Carro, e podemos acessar seus métodos e atributos usando a notação de ponto.

Encapsulamento

Encapsulamento é um dos princípios fundamentais da programação orientada a objetos. Ele se refere à prática de ocultar os detalhes internos de uma classe e expor apenas o necessário através de uma interface pública. Isso é feito usando modificadores de acesso como private, public e protected.

Os atributos de uma classe geralmente são marcados como private para impedir o acesso direto de fora da classe, e métodos public são fornecidos para acessar e modificar esses valores de forma controlada.

Herança

Herança é um mecanismo pelo qual uma classe pode herdar atributos e métodos de outra classe. A classe que herda é chamada de subclasse ou classe derivada, e a classe da qual ela herda é chamada de superclasse ou classe base. Em Java, isso é feito usando a palavra-chave extends.


public class Veiculo {
    // Atributos e métodos comuns a todos os veículos
}

public class Carro extends Veiculo {
    // Atributos e métodos específicos de um carro
}

Neste exemplo, Carro herda de Veiculo, o que significa que um objeto Carro terá todos os atributos e métodos de um Veiculo, além dos seus próprios.

Polimorfismo

Polimorfismo é a capacidade de um método ter várias formas. Em Java, isso pode ser alcançado através da sobrecarga de métodos (métodos com o mesmo nome, mas com diferentes listas de parâmetros) e da substituição de métodos (quando uma subclasse redefine um método da superclasse).


public class Veiculo {
    public void mover() {
        System.out.println("O veículo está se movendo.");
    }
}

public class Carro extends Veiculo {
    @Override
    public void mover() {
        System.out.println("O carro está se movendo.");
    }
}

Aqui, o método mover é sobreescrito na classe Carro para fornecer uma implementação específica para carros.

Interfaces

Uma interface em Java é uma espécie de contrato que define um conjunto de métodos abstratos que uma classe deve implementar. Interfaces são definidas usando a palavra-chave interface, e as classes as implementam usando a palavra-chave implements.


public interface Motorizado {
    void ligarMotor();
}

public class Carro implements Motorizado {
    @Override
    public void ligarMotor() {
        System.out.println("Motor ligado.");
    }
}

Neste exemplo, a classe Carro implementa a interface Motorizado, comprometendo-se a fornecer uma implementação para o método ligarMotor.

Conclusão

A estrutura de classes e objetos em Java é essencial para o desenvolvimento de aplicações robustas e escaláveis. Através do uso de classes, objetos, encapsulamento, herança, polimorfismo e interfaces, podemos criar códigos bem organizados, reutilizáveis e fáceis de manter. Ao dominar esses conceitos, você estará bem equipado para enfrentar os desafios da programação em Java.

Agora responda o exercício sobre o conteúdo:

_Qual das seguintes afirmações sobre a programação em Java está correta?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Estrutura de classes e objetos em Java: Definição de Classe

Próxima página do Ebook Gratuito:

59Estrutura de classes e objetos em Java: Definição de Classe

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto