1
resposta

[Dúvida] Uma classe como atributo

Queria uma explicação melhor sobre usar uma classe que criamos como atributo em outra classe, sei que usamos esse exemplo por exemplo com String, mas não conseguir entender em como essa prática nos auxilia em projetos seria pela facilidade de já ter os atributos e métodos (da classe que se tornou atributo), facilitando assim a instância?

Estou bem confunso!

1 resposta

Oi Matheus,

Entender como usar uma classe como atributo em outra classe é fundamental na programação orientada a objetos. Isso é conhecido como composição, e traz várias vantagens.

Quando você utiliza uma classe como atributo, você está basicamente dizendo que a nova classe "tem um" objeto daquela classe. Isso permite que você reutilize código, já que a classe que se torna atributo pode ter seus próprios métodos e atributos, facilitando a organização e a manutenção do seu código.

Por exemplo, imagine que você tem uma classe Endereco:

public class Endereco {
    private String rua;
    private String cidade;

    public Endereco(String rua, String cidade) {
        this.rua = rua;
        this.cidade = cidade;
    }

    // Métodos getters e setters
}

Agora, se você tiver uma classe Pessoa, poderá usar Endereco como um atributo:

public class Pessoa {
    private String nome;
    private Endereco endereco;

    public Pessoa(String nome, Endereco endereco) {
        this.nome = nome;
        this.endereco = endereco;
    }

    // Métodos getters e setters
}

Dessa forma, a classe Pessoa "tem um" Endereco, o que permite que você encapsule a lógica e os dados relacionados ao endereço dentro da classe Endereco. Isso facilita a reutilização e a manutenção do código. Se você precisar modificar a forma como um endereço é tratado, você só precisará alterar a classe Endereco, sem impactar diretamente a classe Pessoa.

Além disso, essa abordagem torna o código mais legível e organizado, pois as responsabilidades são bem definidas entre as classes.

Se você tiver mais dúvidas ou precisar de mais exemplos, sinta-se à vontade para perguntar!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!