🎯 Objetivo: Neste capítulo, você irá dominar o conceito de polimorfismo e aprender a usar as palavras-chave virtual e override para sobrescrever o comportamento de métodos herdados em C#.
Neste capítulo, você aprenderá um dos pilares da Programação Orientada a Objetos: Herança. Veremos como criar classes que reaproveitam atributos e métodos de outras classes, como estender comportamentos e quando utilizar essa técnica.
Herança é o mecanismo que permite que uma classe herde os atributos e métodos de outra classe.
Imagine que temos uma classe Pessoa. Todas as pessoas têm nome e idade.
Agora queremos representar um Aluno, que também tem nome e idade, mas também tem uma matrícula. Faz sentido reaproveitar a estrutura da Pessoa.
Classe Pessoa
public class Pessoa
{
public string Nome { get; set; }
public int Idade { get; set; }
public void Apresentar()
{
Console.WriteLine($"Olá! Meu nome é {Nome} e tenho {Idade} anos.");
}
}
Classe Aluno (Herança de Pessoa)
public class Aluno : Pessoa
{
public string Matricula { get; set; }
public void MostrarMatricula()
{
Console.WriteLine($"Minha matrícula é: {Matricula}");
}
}
Classe Principal
public class Main
{
public static void Main(string[] args)
{
Aluno aluno = new Aluno();
aluno.Nome = "Lucas";
aluno.Idade = 17;
aluno.Matricula = "2025A01";
aluno.Apresentar(); // Método herdado da classe Pessoa
aluno.MostrarMatricula(); // Método da classe Aluno
}
}
: (Herança)Em C#, o símbolo de dois pontos (:) é utilizado para indicar que uma classe está herdando de outra:
public class Aluno : Pessoa
{
// agora Aluno tem todos os atributos e métodos de Pessoa
}
virtual e overrideA Sobrescrita é a técnica que permite a uma classe filha (subclasse) mudar a implementação de um método que ela herdou da classe pai (superclasse). Em C#, isso é feito usando um par de palavras-chave: virtual e override.