11. Estrutura de classes e objetos em Java

Página 58

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.

Now answer the exercise about the content:

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

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

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

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text