Sob a visão do professor Francisco Adell Péricas, seguem abaixo algumas informações a cerca deste assunto:
1) Com relação a herança, diz ele em sua obra:
"...Consiste na capacidade de construir novas classes a partir de outras existentes. Nesse processo, os dados e métodos de uma classe existente, chamada de classe base ou superclasse, são herdados pela nova classe, chamada de classe derivada ou subclasse.".
Com esta definição em mente, é possível assinalar o item "I" como correto.
2) A respeito da Sobreposição, o professor ressalta:
"...Entretanto, uma das finalidades de permitir a derivação de classes é atribuir a elas novas funcionalidades alterando o comportamento dos métodos. Isto é possível acrescentando-se novos métodos às subclasses, sobrepondo qualquer dos métodos existentes na superclasse, declarando o novo método na subclasse exatamente com o mesmo nome e lista de argumentos, como consta na superclasse...".
Dessa forma, o item II está incorreto, pois, se refere ao conceito de sobreposição e não, sobrecarga.
3) Sobre o polmorfismo, cita o autor:
"...Uma característica importante das classes reside no fato de que as subclasses de uma dada classe são consideradas do mesmo tipo da sua classe pai. Isto é chamado de polimorfismo. Este permite a realização de alterações no comportamento de diferentes tipos de classes, desde que mantenham algo em comum, como por exemplo a obediência hierarquica de classes...".
Sob este pressuposto, consideraremos correto o item III.
Herança é um princípio de orientação a objetos, que permite que classes compartilhem atributos e métodos, através de "heranças". Ela é usada na intenção de reaproveitar código ou comportamento generalizado ou especializar operações ou atributos. O conceito de herança de várias classes é conhecido como herança múltipla.
Como exemplo pode-se observar as classes 'aluno' e 'professor', onde ambas possuem atributos como nome, endereço e telefone. Nesse caso pode-se criar uma nova classe chamada por exemplo, 'pessoa', que contenha as semelhanças entre as duas classes, fazendo com que aluno e professor herdem as características de pessoa, desta maneira pode-se dizer que aluno e professor são subclasses de pessoa.
Polimorfismo é um recurso que permite dados de diferentes tipos (objetos de diferentes classes) serem tratados por uma interface uniforme. Um método polimórfico pode ser aplicado à objetos de diferentes tipos (classes), sendo que estas classes podem ser representadas por uma estrutura hierárquica.
http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming
http://en.wikipedia.org/wiki/Polymorphism_(computer_science)
Sobrecarga é um recurso que permite a criação de diversos métodos com o mesmo nome, que podem diferir uns dos outros em função do tipo de dados de entrada (parâmetros) e da saída do método. Sobrecarga não deve ser confundida com polimorfismo.
http://en.wikipedia.org/wiki/Method_overloading
Polimorfismo não é o mesmo que sobrecarga de método (method overloading). Polimorfismo está relacionado com a aplicação de uma implementação à uma interface ou à uma classe base. Sobrecarga refere-se à métodos que possuem o mesmo nome, mas diferentes assinaturas dentro da mesma classe. E sobreescrita (method overriding) acontece quando uma subclasse substitui o comportamento (implementação) de um ou mais métodos de sua classe pai. Nem sobrecarga, nem sobreescrita são implementações do polimorfismo.