1
resposta

Por que nao precisamos chamar super(); em negociacoes ?

Em negociacao.ts somos obrigado a chamar o constructo de imprimivel por ter extendido a classe

    constructor(
        private _data: Date,
        public readonly quantidade: number, 
        readonly valor: number
    ) {
        super();
    }

Porém na classe negociacoes.ts não acusou nenhum erro de compilção ou em rum time da aplicação mesmo não tendo o constructor.

Não ficou muito claro para mim o motivo de nao precisar criar um constructor na classe negociações.

1 resposta

Negociações não utiliza construtor, você não é obrigado a implementar o construtor nesse caso. Você so é obrigado a chamar o construtor super do pai (da herança) se você implementar o construtor na filha, mas se você não implementar, não chama o supe, e não é obrigado a implementar.

Afinal uma negociação é preenchida na instancia dela, atraves do construtor. Já em negociações, é uma lista, ela é preenchida atraves do metodo adiciona que é chamado e adicionado um a um.

Entende, são necessidades diferentes na regra de negócio da aplicação.

Aproveite e faça cursos de orientação a objetos para entender mais sobre conceitos de herança e implementações...