Skip to content
Aplicações Informáticas B · 12.º Ano

Ideias de aprendizagem ativa

Herança e Polimorfismo em POO

A aprendizagem ativa funciona especialmente bem neste tópico porque a herança e o polimorfismo são conceitos abstratos que ganham vida quando aplicados em situações concretas. Ao manipular hierarquias de classes e observar comportamentos dinâmicos em tempo real, os alunos interiorizam a teoria de forma prática, reduzindo a distância entre o conceito e a implementação.

Aprendizagens EssenciaisDGE: Secundário - Algoritmia e Programação
25–45 minPares → Turma inteira4 atividades

Atividade 01

Parcerias de Codificação: Hierarquia de Veículos

Em pares, os alunos criam uma classe base Veículo com métodos como acelerar() e freiar(). Derivam classes Carro e Moto que sobrescrevem esses métodos. Testam polimorfismo num array de veículos, invocando métodos genéricos e observando resultados diferenciados.

Compare os benefícios da herança e da composição na arquitetura de software.

Sugestão de FacilitaçãoDurante a Parceria de Codificação, peça aos alunos para desenharem um diagrama da hierarquia antes de iniciarem a implementação, garantindo que visualizam as relações entre classes base e derivadas.

O que observarApresente aos alunos um pequeno trecho de código que utiliza herança e polimorfismo (ex: uma classe 'Animal' com método 'fazerSom()' e classes 'Cão' e 'Gato' que o sobrescrevem). Peça-lhes para preverem a saída do programa e explicarem o porquê, focando na chamada polimórfica.

AnalisarAvaliarCriarTomada de DecisãoAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 02

Aprendizagem Baseada em Problemas45 min · Pequenos grupos

Grupos Pequenos: Debate Herança vs Composição

Divida a turma em grupos de 4. Cada grupo analisa um cenário de software, como sistema de gestão de funcionários, e decide entre herança ou composição, justificando com diagramas UML. Apresentam argumentos à turma para votação.

Analise como o polimorfismo permite escrever código mais genérico e extensível.

Sugestão de FacilitaçãoNo debate sobre Herança vs Composição, distribua cartões com exemplos reais de relações 'é-um' e 'tem-um' para que os grupos os classifiquem e discutam em contexto.

O que observarColoque a seguinte questão para discussão em pequenos grupos: 'Quando é preferível usar composição em vez de herança para construir a relação entre duas classes? Dê um exemplo concreto onde a composição seria mais vantajosa e explique porquê.'

AnalisarAvaliarCriarTomada de DecisãoAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 03

Aprendizagem Baseada em Problemas30 min · Turma inteira

Aula Completa: Simulação com Cartões Polimórficos

Crie cartões com classes e métodos. A turma, como 'objetos', responde a chamadas genéricas de métodos, demonstrando sobrescrita. Discutem depois em plenário como isso se traduz em código.

Avalie os cenários em que a herança múltipla pode ser vantajosa ou problemática.

Sugestão de FacilitaçãoNa Simulação com Cartões Polimórficos, utilize diferentes cores de cartões para representar classes base e derivadas, facilitando a identificação visual dos objetos em tempo real.

O que observarDivida os alunos em pares. Cada par recebe um problema simples (ex: modelar diferentes formas geométricas). Um aluno desenha uma hierarquia de classes usando herança e o outro usa composição. Depois, trocam de solução e avaliam mutuamente: A hierarquia é clara? O código é reutilizável? Quais os pontos fortes e fracos de cada abordagem?

AnalisarAvaliarCriarTomada de DecisãoAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 04

Individual: Refatoração Polimórfica

Forneça código monolítico. Cada aluno refatora para usar herança e polimorfismo, testando com casos variados. Partilham soluções no final para revisão coletiva.

Compare os benefícios da herança e da composição na arquitetura de software.

Sugestão de FacilitaçãoNa Refatoração Polimórfica, forneça código com duplicação de métodos e peça aos alunos para identificarem padrões que possam ser abstraídos com polimorfismo.

O que observarApresente aos alunos um pequeno trecho de código que utiliza herança e polimorfismo (ex: uma classe 'Animal' com método 'fazerSom()' e classes 'Cão' e 'Gato' que o sobrescrevem). Peça-lhes para preverem a saída do programa e explicarem o porquê, focando na chamada polimórfica.

AnalisarAvaliarCriarTomada de DecisãoAutogestãoCompetências Relacionais
Gerar Aula Completa

Algumas notas sobre lecionar esta unidade

Este tópico requer uma abordagem passo-a-passo que começa com exemplos simples e aumenta gradualmente a complexidade. Evite apresentar herança múltipla como solução imediata, pois pode confundir os alunos com problemas como o 'diamante'. Em vez disso, foque em herança simples e interfaces, que são mais intuitivas. A pesquisa mostra que a analogia com sistemas do mundo real, como veículos ou animais, ajuda a consolidar conceitos, mas é crucial que os alunos pratiquem a implementação para superar a barreira entre teoria e prática.

Espera-se que os alunos consigam modelar relações hierárquicas entre classes, implementar polimorfismo através de sobrescrita de métodos ou interfaces, e justificar escolhas arquiteturais entre herança e composição. O sucesso mede-se pela capacidade de explicar código escrito por outros e de prever comportamentos em novas situações.


Atenção a estes erros comuns

  • Durante a Parceria de Codificação sobre Hierarquia de Veículos, alguns alunos podem assumir que a herança é sempre a melhor solução.

    Peça aos pares para compararem duas implementações: uma usando herança (Carro como Veículo) e outra usando composição (Carro com Motor). Solicite que justifiquem qual abordagem é mais flexível quando o motor pode ser trocado ou atualizado.

  • Durante o Debate Herança vs Composição, é comum os alunos acreditarem que polimorfismo depende necessariamente de herança múltipla.

    Durante a discussão, forneça um trecho de código simples onde uma classe implementa uma interface e sobrescreve um método. Pergunte: 'Como este objeto responde ao mesmo método de formas diferentes?' para reforçar que o polimorfismo surge da sobrescrita, não da herança múltipla.

  • Durante a Simulação com Cartões Polimórficos, os alunos podem pensar que herança múltipla resolve ambiguidades em hierarquias complexas.

    Utilize diagramas com o 'problema do diamante' durante a simulação. Peça aos alunos para simularem chamadas de métodos e observarem conflitos. Solicite que proponham soluções alternativas, como interfaces, para evitar a ambiguidade.


Metodologias usadas neste resumo