Oi, Pedro! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Você aplicou bem a combinação de herança com interface, deixando o código organizado e com responsabilidade clara para cada parte. A implementação do método MostrarDetalhes() ficou direta e funcional, e o uso de base(titulo) mostra um bom entendimento da reutilização da classe pai.
Você pode usar override junto com métodos virtuais quando quiser permitir variações de comportamento entre classes filhas.
class ItemDigital
{
public string Titulo { get; }
public ItemDigital(string titulo)
{
Titulo = titulo;
}
public virtual void Exibir()
{
Console.WriteLine("Item: " + Titulo);
}
}
class Pergaminho : ItemDigital
{
public Pergaminho(string titulo) : base(titulo) {}
public override void Exibir()
{
Console.WriteLine("Pergaminho: " + Titulo);
}
}
O código define um método virtual na classe base e permite que a classe filha altere seu comportamento com override.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!