A herança, na programação orientada a objetos, é uma forma de reutilização de software em que uma nova classe é criada absorvendo membros de uma classe existente e aprimorada com capacidades novas ou modificadas, introduzindo uma de suas principais capacidades. Em relação à herança, assinale a afirmativa correta.
- A)A classe existente é chamada de subclasse; e a nova classe de superclasse.
Errada: a classe existente é a superclasse, e a nova classe criada é a subclasse.
- B)Uma de suas desvantagens é que uma subclasse não pode adicionar os seus próprios campos e métodos.
Errada: a subclasse pode sim adicionar seus próprios campos e métodos, além de herdar os da classe base.
- C)Com a herança, o programador pode economizar tempo durante o desenvolvimento de um programa.
Certa: a herança reutiliza código e, por isso, costuma economizar tempo no desenvolvimento.
- D)Para evitar inconsistências durante o desenvolvimento de sistemas, jamais um objeto de uma classe pode ser um objeto de outra classe.
Errada: uma classe pode ser base de outra, justamente porque a herança cria essa relação entre objetos e tipos.
- E)As relações de herança não formam estruturas hierárquicas, uma vez que são classificadas como estruturas puramente lineares, ou seja, todas as classes estão sempre no mesmo nível.
Errada: a herança forma estruturas hierárquicas, com níveis de superclasse e subclasse, e não uma linha sem hierarquia.
Gabarito: C
Na orientação a objetos, herança é o mecanismo que permite criar uma classe nova a partir de outra já existente, reaproveitando atributos e métodos e, se for o caso, acrescentando ou ajustando comportamentos. Pense nela como um "copiar e adaptar" inteligente: a classe filha aproveita o que a classe mãe já sabe fazer e só completa o que falta. Isso ajuda muito na organização do código, porque evita repetição desnecessária e facilita manutenção. Se uma regra mudar na classe base, várias classes derivadas podem ser beneficiadas ao mesmo tempo. Em termos de modelagem, a herança costuma representar uma relação do tipo "é um". Por isso, a alternativa C está correta: com herança, o programador pode economizar tempo no desenvolvimento, já que reutiliza código pronto em vez de reescrever tudo do zero. Esse é um dos grandes ganhos da programação orientada a objetos e aparece com frequência em doutrina de POO. As demais alternativas distorcem o conceito. Herança não impede a subclasse de ter seus próprios membros, nem elimina a hierarquia entre classes. Ao contrário, ela organiza classes em níveis, com superclasse e subclasse bem definidos.