Na orientação a objetos, os conceitos de superclasse e subclasse estão relacionados a
- A)interface.
Interface não define a relação entre superclasse e subclasse; ela serve para estabelecer um contrato de comportamento.
- B)polimorfismo.
Polimorfismo é a capacidade de um mesmo método/comportamento assumir formas diferentes, mas não é o nome da relação entre superclasse e subclasse.
- C)array.
Array é uma estrutura de dados para armazenar elementos, sem relação com esse conceito de hierarquia entre classes.
- D)herança.
Herança é exatamente o mecanismo que relaciona superclasse e subclasse na orientação a objetos.
- E)coleção.
Coleção é um agrupamento de elementos, como listas e conjuntos, e não a relação pedida no enunciado.
Gabarito: D
Em Programação Orientada a Objetos, superclasse e subclasse são termos que aparecem quando uma classe “herda” características de outra. A superclasse é a classe mais geral, que serve de base; a subclasse é a mais específica, que reaproveita e pode ampliar o que veio da base. É como dizer: “todo cão é um animal, mas nem todo animal é cão”. Esse relacionamento é justamente o da herança. Por meio dela, a subclasse recebe atributos e métodos da superclasse, podendo também acrescentar novos comportamentos ou sobrescrever os existentes. Isso organiza melhor o código, evita repetição e facilita manutenção. Por isso, o gabarito é a letra D. Em vez de falar de interface, coleção, array ou polimorfismo diretamente, a questão está perguntando sobre a relação estrutural entre classes, e essa relação é a herança. Em termos doutrinários de POO, é a base do mecanismo de generalização/especialização.