1
resposta

Faça como eu fiz: catalogação de itens

internal class ItemDigital
{
    public string Titulo { get; }

    public ItemDigital(string titulo)
    {
        Titulo = titulo;
    }
}
interface IDetalhes
{
    void MostrarDetalhes();

}
internal class Pergaminho : ItemDigital, IDetalhes
{
    public string ConteudoTextual { get; }

    public Pergaminho(string titulo, string conteudotextual)
    : base(titulo)
    {
        ConteudoTextual = conteudotextual;
    }

    public void MostrarDetalhes()
    {
        Console.WriteLine($"Detalhes do pergainho:\n" +
        $"Título: {Titulo}\n" +
        $"Descrição: {ConteudoTextual}");
    }
}
        Pergaminho p = new("Segredos_Antigos.txt", "A chave para a sabedoria reside na observação...");
        p.MostrarDetalhes();
1 resposta

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.

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