Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dúvida: Classe na qual instancio os métodos #66

Open
fabcurvello opened this issue May 23, 2024 · 1 comment
Open

Dúvida: Classe na qual instancio os métodos #66

fabcurvello opened this issue May 23, 2024 · 1 comment

Comments

@fabcurvello
Copy link

Olá Cami-la, tudo bem?

Sou seu aluno no Bootcamp DIO Java Backend. No momento estou no seu curso das Collections.

Minha dúvida é pertinente à estrutura dos exercícios.

Exemplo: No exercício do Catalogo de Livros existem duas classes: Uma de modelo de negócio Livro, e outra do Catálogo onde é aplicada a Lista de Livros e os diversos métodos de manipulação dos Livros, incluindo nessa última o método main.

Eu sempre acreditei que estes métodos referentes à manipulação dos Livros (adicionarLivro, pesquisarPorTitulo, livrosIntervalo...) deveriam ficar na Classe Livro. Não seria isso?

A Classe Catalogo deveria acionar os métodos importando da Classe Livro. Penso isso porque sempre vi na OO que o tema desses métodos é referente à classe de origem então devem ficar lá.

Mas com o tema das collections isso realmente me deixou mais confuso.

Olha, PARABÉNS pelo curso! Você é 10, é inspiração. Muito obrigado por compartilhar seu conhecimento.

Fabrício Curvello

linkedin: fabriciocurvello
github: fabcurvello
youtube: fabriciocurvello

@CaioRC39
Copy link

CaioRC39 commented Jun 9, 2024

Sobre a classe Livro:
A classe Livro deve representar um livro e conter propriedades e comportamentos que descrevem um livro.
Métodos que fazem sentido estarem na classe Livro: Métodos de acesso (getters e setters) para propriedades como título, autor, preço, etc; Métodos que definem comportamentos específicos de um livro, como aplicar desconto no preço, ou talvez calcular o imposto sobre o preço (não foi o caso, mas esse é somente um exemplo).

Sobre a classe Catalogo:
A classe Catalogo deve ser responsável por gerenciar uma coleção de livros. Ela deve conter métodos para adicionar, remover, pesquisar, listar, e manipular a coleção de livros. Isso porque a responsabilidade de gerenciar a coleção pertence ao catálogo, não aos livros individuais.

A classe Livro contém apenas a lógica relacionada a um livro.
A classe Catalogo contém apenas a lógica relacionada à coleção de livros.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants