Foi criado um fonte de uma loja de informática onde no sistema pode ser cadastrados produtos de diferentes tipos.
Um componente é um produto mas tambem uma peça de um computador. Um jogo é um tipo de produto. Um kit é considerado por si só um produto, mas pode possuir "dentro" dele vários produtos.
Esses 3 tipos foram declarados a partir da abstração do Produto.
Na declaração de códigos e opções foram usados em alguns pontos try/catch para tratar entrada incorreta de dados.
Na adição de produtos a lista foi usado polimorfismo para adicionar diferentes tipos a um array de Produto.