Please enable JavaScript.
Coggle requires JavaScript to display documents.
MM8 - EDOO, Templates, Polymorphism, Abstract Classes - Coggle Diagram
-
Templates
-
-
Tipos de Templates
Function Templates: Funções que aceitam parâmetros de diferentes tipos. Exemplo: template<typename T> T add(T a, T b);
Class Templates: Classes que trabalham com tipos genéricos. Exemplo: template<typename T> class MyClass { ... };
Vantagens dos Templates
Reutilização de Código: Evita duplicação ao permitir que uma única função ou classe manipule múltiplos tipos de dados.
Flexibilidade: Adapta-se automaticamente ao tipo de dado fornecido, promovendo flexibilidade.
Definição: Permite criar funções e classes que trabalham com qualquer tipo de dado, tornando o código mais genérico.
Polymorphism
-
Tipos de Polimorfismo
-
Polimorfismo em Tempo de Compilação (Sobrecarga): Seleção da função ocorre durante a compilação; exemplo: funções sobrecarregadas.
Polimorfismo em Tempo de Execução (Funções Virtuais): Seleção do método ocorre durante a execução, usando ponteiros para a classe base.
Ponteiros e Polimorfismo
Ponteiros de Classe Base: Permitem manipulação de objetos de classe derivada, facilitando o polimorfismo em tempo de execução.
virtual e override: Garante que o método da classe derivada seja usado, reforçando o comportamento específico para cada tipo de objeto.
Definição: Permite que objetos de diferentes classes derivadas respondam de maneira diferente ao mesmo método.
Abstract Classes
Métodos Virtuais Puros
Definição: Métodos sem implementação na classe base, que devem ser implementados nas classes derivadas.
-
-
-
-