Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

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

Program.cs:

Pergaminho pergaminhoAntigo = new("Segredos_Antigos.txt", "A chave para a sabedoria reside na observação...");

pergaminhoAntigo.MostrarDetalhes();

ItemDigital.cs:

internal abstract class ItemDigital(string titulo)
{
    public string Titulo { get; } = titulo;
}

Pergaminho.cs:

internal class Pergaminho(string titulo, string texto) : ItemDigital(titulo)
{
    public string Texto { get; } = texto;

    public void MostrarDetalhes()
    {
        Console.WriteLine("Detalhes do Pergaminho:");
        Console.WriteLine($"Título: {Titulo}");
        Console.WriteLine($"Descrição: {Texto}");
    }
}
1 resposta
solução!

Oi, Fabiano! Como vai?

Eu gostei de como você usou a classe abstrata ItemDigital para representar uma base comum e criou Pergaminho herdando dela. O uso do construtor primário também deixou o código mais direto, e a propriedade Titulo sendo reaproveitada na classe filha mostra bem a ideia de herança.

Uma dica interessante para o futuro é criar um método abstrato na classe base para garantir que todo item digital tenha sua própria forma de exibir detalhes.

internal abstract class ItemDigital(string titulo)
{
    public string Titulo { get; } = titulo;
    public abstract void MostrarDetalhes();
}

internal class Pergaminho(string titulo, string texto) : ItemDigital(titulo)
{
    public string Texto { get; } = texto;

    public override void MostrarDetalhes()
    {
        Console.WriteLine($"Titulo: {Titulo}");
        Console.WriteLine($"Descricao: {Texto}");
    }
}

Esse código faz com que qualquer classe que herde de ItemDigital precise implementar MostrarDetalhes(), mantendo um padrão para novos itens. Você pretende testar outro item digital, como Mapa ou Imagem, usando essa mesma estrutura?

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