Buscar

Programação orientada a objetos classes, relacionamentos desafio

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Desafio 02
As classes possuem diferentes tipos de relacionamentos, que possibilitam especificar comportamentos e necessidades diferentes. Exemplo: relacionamentos de associação (agregação ou composição) são tipos distintos e são utilizados para representar situações diferenciadas; assim como os relacionamentos de herança (generalização ou especialização) são utilizados para representar situações de heranças entre classes.
Imagine que você está participando da etapa de análise e projeto de um sistema que será construído em uma linguagem orientada a objetos e o escopo do sistema, definido até o momento, considera o seguinte:
Sem se preocupar com atributos e métodos, você deverá identificar as possíveis classes e seus relacionamentos, justificando a sua escolha.
Padrão de resposta esperado
Pelo escopo definido, o modelo poderia contar com as seguintes classes e seus respectivos relacionamentos:
1. Classes
1.1 Pedido
1.2 Itens
1.3 Cliente
1.4 ClientePessoaFisica
1.5 ClientePessoaJuridica
1.6 Departamento
2. Relacionamentos
2.1 Composição entre as classes Pedido e Itens, pois um item só existe se existir o pedido; logo, se o Pedido deixar de existir, seus Itens também deverão ser destruídos.
2.2 Associação entre as classes Pedido e ClientePessoaFisica, Pedido e ClientePessoaJuridica, pois o Pedido pode ser para qualquer um dos tipos de cliente.
2.3 Generalização entre as classes Cliente e ClientePessoaFisica, Cliente e ClientePessoaJuridica, pois ambas herdam a estrutura da classe Cliente sem necessidade de especialização.
2.4 Agregação entre as classes Departamento e Pedido, pois na medida em que um Departamento passa a existir, pedidos podem ser criados para esse Departamento.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando