a implementação existente de uma estrutura de dados Lista. A implementação do método push() incluída na classe Pilha criada consiste em invocar o método herdado adicionar() para colocar um elemento na última posição da estrutura de dados; e a implementação do método pop() consiste em invocar o método herdado remover() para retirar o elemento presente na última posição.
Considere as seguintes afirmações a respeito da situação acima descrita:
I. Em tempo de execução, uma instância da classe Pilha delega a uma instância da classe Lista a responsabilidade de adicionar um elemento na estrutura de dados, através da invocação do método adicionar().
II. A possibilidade de invocar o método remover() de uma instância da classe Pilha, com qualquer índice passado como argumento (o que permite remover um elemento de qualquer posição da estrutura de dados), indica que o relacionamento de herança entre as duas classes é inadequado.
III. O mesmo reuso do código da classe Lista poderia ser promovido estabelecendo uma relação de composição entre as duas classes (ao invés de herança). Neste caso, uma instância da classe Lista deveria referenciar uma instância da classe Pilha.
IV. Há na modelagem acima a caracterização de reuso por composição.
A respeito dessas afirmações, é correto dizer que:
( ) Apenas a afirmação II está correta.
( ) Apenas as afirmações I e II estão corretas.
( ) Apenas as afirmações I e III estão corretas.
( ) Apenas as afirmações I e IV estão corretas.
( ) Apenas as afirmações II e III estão corretas.
I - incorreta, quem adiciona o elemento é o método push
II - correta
III - incorreta
IV - incorreta, não existe composição na modelagem
Nenhum comentário:
Postar um comentário