Olá pessoal, essa é minha primeira mensagem para a lista.
Tenho uma dúvida bem simples até, que não deve ter uma resposta certa, então gostaria de ouvir opiniões à respeito dessas duas opções de implementação de um programa:
Enunciado: tenho uma classe FormaAbstrata, com subclasses Ponto, Reta e Polígono.
Opção 1: classe ponto possui um atributo chamado PontoCartesiano, classe reta possui 2 PCartesianos e o polígono uma lista de PCartesianos. Métodos das subclasses tratam os PCartesianos de acordo com a classe
Opção 2: FormaAbstrata possui como atributo uma lista de PCartesiano, de forma que suas subclasses também. Métodos da superclase tratam os PCartesianos como uma lista, valendo pra todas as subclasses.
Implicações: Pela opção 1, ficaria talvez mais certo conceitualmente e mais eficiente. Pela opção 2, menos repetição de código, visto que tem pelo menos 6 métodos que fazem a mesma coisa, mas possuem implementação variada de acordo com a qtd. de pontos.
Será que isso é suficiente para vcs opinarem ou preciso explicar melhor?
t+