1
resposta

[Projeto] Minha solução

namespace PraticandoPolimorfismo.Classes;

internal abstract class Conteudo
{
    // Propriedades
    public string Titulo { get; set; }

    //Métodos
    public abstract string ExibirInfo();
}
namespace PraticandoPolimorfismo.Classes;

internal class AulaGravada : Conteudo
{
    // Propriedades
    public int Duracao { get; set; }
    
    //Métodos
    public override string ExibirInfo()
    {
        return $"Título: {Titulo}\nDuração: {Duracao} min";
    }
    
    //Construtor
    public AulaGravada(string titulo, int duracaoEmMinutos)
    {
        Titulo = titulo;
        Duracao = duracaoEmMinutos;
    }
}
namespace PraticandoPolimorfismo.Classes;

internal class MateriaComplementar : Conteudo
{
    //Propriedades
    public int NumeroPaginas { get; set; }
    //Método
    public override string ExibirInfo()
    {
        return $"Título: {Titulo}\nNúmero de Páginas: {NumeroPaginas}";
    }

    //Construtor
    public MateriaComplementar(string titulo, int numeroPaginas)
    {
        Titulo = titulo;
        NumeroPaginas = numeroPaginas;
    }
}
1 resposta

Oi, Cristin! Como vai?

Do jeito que você explicou, sua estrutura usando classes abstratas e override ficou bem organizada. O uso de ExibirInfo() destaca bem o polimorfismo entre os tipos de conteúdo.

Uma dica interessante para o futuro é usar o método ToUpper() para padronizar textos quando quiser destacar títulos.
Veja este exemplo:


string titulo = "curso de csharp";
string resultado = titulo.ToUpper();
Console.WriteLine(resultado);

O código transforma o texto em letras maiúsculas, ajudando na exibição de informações.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!