Baixe o app para aproveitar ainda mais
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.
Compartilhar