A Programação Orientada a Objetos (POO) é um paradigma de programação que
revolucionou a forma como desenvolvemos software. Baseada em conceitos como
encapsulamento, herança e polimorfismo, a POO oferece uma abordagem estruturada e
modular para o desenvolvimento de sistemas complexos. No campo da educação,
especialmente no ensino de POO, pesquisadores têm buscado métodos que facilitem o
processo de aprendizagem, já que muitas vezes, alunos enfrentam dificuldades para
compreender esses conceitos abstratos.
Texto publicado no XXXVI Congresso da Sociedade Brasileira de Computação diz que
“A Programação Orientada a Objetos (POO) mostra-se um paradigma de programação,
influente, pelo qual a maior parte dos cursos da área de computação incluem a POO como
parte de seus currículos. No entanto, o ensino de POO não é uma tarefa trivial.
Há alertas sobre as dificuldades encontradas por alunos e professores no ensino de POO;
os autores apontam que é difícil para os alunos entenderem conceitos abstratos como
classes, instâncias, encapsulamento, herança e construtores.
Apesar de muitos esforços terem sido feitos desde então, as disciplinas de programação
ainda são responsáveis por um alto índice de reprovação nos cursos de computação.”
Considerando os conceitos de Programação Orientada a Objetos, avalie as seguintes
asserções e a relação proposta entre elas:
I. A herança de classes é uma das principais características da Programação Orientada a
Objetos (POO). Por meio dessa característica do paradigma POO, um objeto recebe
características e comportamentos de outro objeto. Quando estiver criando classes, você
vai perceber que essa possibilidade permite o reaproveitamento de código e torna o
trabalho mais racional e otimizado.
PORQUE
II. Novas classes podem ser definidas em termos das classes existentes, usando-se
herança de classe. Quando uma subclasse herda de uma classe-mãe, ela inclui as
definições de todos os dados e operações que a classe-mãe define. Os objetos que são
instâncias das subclasses conterão todos os dados definidos pela subclasse e suas classes mãe, e eles serão capazes de executar todas as operações definidas por esta subclasse e
seus “ancestrais”.
A respeito dessas asserções, qual é a opção correta?