17.9. Classes e Objetos: Composição de Objetos

A programação orientada a objetos é uma abordagem de programação que envolve a criação de objetos que contêm tanto dados quanto métodos. Uma das principais características da programação orientada a objetos é a composição de objetos, também conhecida como composição de classes. A composição é uma maneira de combinar objetos para criar estruturas de dados mais complexas.

O que é Composição de Objetos?

A composição de objetos é um princípio de design orientado a objetos que descreve uma relação de "tem um" entre diferentes classes. A composição permite que uma classe contenha uma instância de outra classe. Por exemplo, se tivermos uma classe chamada "Carro" e outra classe chamada "Motor", podemos dizer que "Carro" tem um "Motor". Esta é a composição de objetos.

Como Funciona a Composição de Objetos?

Na composição, uma classe (a classe composta) contém um objeto de outra classe (a classe componente) como um campo. A classe composta tem controle total sobre a criação e vida útil do objeto da classe componente. O objeto da classe componente não pode existir sem o objeto da classe composta.

Por exemplo, consideremos uma classe "Carro" que contém um objeto "Motor". O "Motor" é inicializado quando o "Carro" é criado e destruído quando o "Carro" é destruído. O "Motor" não pode existir sem o "Carro".

Vantagens da Composição de Objetos

A composição de objetos oferece várias vantagens. Primeiro, permite que você crie estruturas de dados complexas a partir de classes simples. Por exemplo, você pode criar uma classe "Carro" a partir de classes "Motor", "Rodas" e "Assentos".

Segundo, a composição promove a reutilização de código. Se você tem uma classe "Motor" que já foi testada e comprovada, pode reutilizá-la em sua classe "Carro" sem ter que reescrever ou testar o código novamente.

Terceiro, a composição permite que você altere o comportamento de uma classe sem alterar a própria classe. Por exemplo, se você quiser mudar a forma como o "Carro" funciona, pode simplesmente substituir o "Motor" por um diferente.

Exemplo de Composição de Objetos

Veja um exemplo de composição de objetos em Java:

public class Motor {
    public void start() {
        System.out.println("O motor está funcionando.");
    }
}

public class Carro {
    private Motor motor;

    public Carro() {
        motor = new Motor();
    }

    public void drive() {
        motor.start();
        System.out.println("O carro está dirigindo.");
    }
}

Neste exemplo, a classe "Carro" contém um objeto "Motor". O "Motor" é inicializado quando o "Carro" é criado. Quando o método "drive" é chamado no "Carro", ele chama o método "start" no "Motor".

Este é um exemplo simples, mas a composição de objetos pode ser usada para criar estruturas de dados muito mais complexas. A chave é entender que a composição permite que você crie classes que contêm outras classes, o que pode levar a uma estrutura de dados muito rica e complexa.

Em resumo, a composição de objetos é um princípio fundamental da programação orientada a objetos que permite que você crie estruturas de dados complexas a partir de classes simples. Aprender a usar a composição de objetos efetivamente pode torná-lo um programador muito mais eficiente e eficaz.

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

O que é composição de objetos na programação orientada a objetos?

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

Você errou! Tente novamente.

Imagem do artigo Classes e Objetos: Métodos estáticos

Próxima página do Ebook Gratuito:

54Classes e Objetos: Métodos estáticos

3 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