Herança é um mecanismo da orientação a objetos que permite criar novas classes a partir de classes já existentes, que características comuns a diversas classes sejam fatoradas em uma classe base ou superclasse. A partir de uma classe base, outras classes podem ser especificadas. Cada classe derivada ou subclasse apresenta as características (estrutura e métodos) da classe base e acrescenta a elas o que for definido de particularidade.
RICARTE, Ivan Luiz Marques. Programação Orientada a Objetos: Uma Abordagem com Java. Campinas: UNICAMP, 2021
O uso de herança pode otimizar o tempo de desenvolvimento das aplicações orientadas a objetos devido ao reaproveitamento de código.
Quanto a herança Java é correto o que se afirma em:
Alternativas
Alternativa 1:
Uma subclasse precisa se tornar uma superclasse para poder implementar, para isso é preciso que se derive uma subclasse a partir dela.
Alternativa 2:
A subclasse implementa a superclasse, acrescentando novos membros (atributos e/ou métodos). A superclasse permanece inalterada, motivo pelo qual este tipo de relacionamento é normalmente referenciado como herança estrita.
Alternativa 3:
A superclasse especifica o que uma subclasse deve oferecer, mas não implementa nenhuma funcionalidade.
Alternativa 4:
A subclasse escreve somente o que não for aproveitar da superclasse. Pode realizar sobrecargas de métodos da superclasse.
Alternativa 5:
Os métodos de uma superclasse não podem ser sobrescritos nas subclasses, porém, podem ser sobrecarregados.
!!! GABARITO atividades II e III de Programação I - 49991124798
Respostas
Resposta:
alternativa 5
Explicação:
alternativa1 - nada a ver.
alternativa2 - certa até falar sobre herança estrita.
alternativa3 - a super classe pode sim implementar funcionalidade.
alternativa4 - nada a ver.
!!! GABARITO atividades II e III de Programação I - 49991124798
superclasse (classe pai) não pode ser reimplementado na subclasse (classe filha)."
Está correta a alternativa 2, que descreve a herança estrita.
Explicação:
Uma subclasse implementa as características de sua super classe, não precisando se tornar uma super classe para isso.
A herança estrita ocorre quando a superclasse permanece inalterada e a subclasse tem herança de extensão, que ocorre quando além de estender a superclasse, a subclasse é especializada acrescentando novos membros.
A superclasse implementa funcionalidade em suas subclasses, que herdam funcionalidades.
A subclasse escreve a extensão da superclasse. Mas sim, a subclasse pode ter como polimorfismo a sobrecarga, que é a utilização de mais de um método com o mesmo nome.
Os métodos de uma superclasse podem não somente ser sobrecarregados como também sobrescritos (overload e override).