Programação orientada a objetos: Herança e polimorfismo – Parte 2

No primeiro artigo mostrei uma implementação de lista encadeada que explora o uso de herança e polimorfismo. Vimos como este recurso nos permite construir classes coesas e que colaboram entre si para realizar tarefas complexas. Nesta continuação trago a implementação do jogo da cobrinha utilizando os mesmos conceitos.

Continuar lendo

Programação orientada a objetos: Herança e polimorfismo – Parte 1

Quando cursei a disciplina de orientação a objetos na universidade já havia estudado alguma coisa em livros de C++ e Java. Tanto os livros quanto o professor da disciplina escolheram a abordagem clássica de ensino de programação orientada a objetos: a do reino animal. Esta abordagem é limitada, do meu ponto de vista, pelo fato de que não confronta o aluno com os problemas do mundo real, os quais este paradigma se predispõe a resolver. Ao aprender POO desta forma, o aluno não aprende a discernir as fronteiras de um sistema e não entende o propósito real de conceitos como a abstração e o encapsulamento. Existe o argumento de que a intenção é ser didático, e que para o iniciante é muito mais fácil aprender utilizando esta analogia. Porém, acredito que este argumento não seja válido uma vez que a disciplina de programação é pré-requisito para se aprender POO, e um aluno com este conhecimento tem capacidade de abstração suficiente para pensar em problemas na forma de entidades lógicas (variáveis, estruturas de dados e etc), sem precisar de exemplos lúdicos para entender os conceitos do paradigma.

Continuar lendo