Program.cs
using Cursos.Modelos;
List<Conteudo> conteudos = new List<Conteudo> {
new Conteudo ("Generico"),
new AulaGravada("POO na prática", 45),
new AulaGravada("Herança e Polimorfismo Aplicado", 100),
new MaterialComplementar("Resumo do módulo 2", 12),
new MaterialComplementar("Resumo do módulo 3", 14)
};
Console.Clear();
conteudos.ForEach(c => c.ExibirInfo());
Conteudo.cs
namespace Cursos.Modelos;
class Conteudo {
public string? Titulo { get; }
public Conteudo(string? titulo) {
Titulo = titulo;
}
public virtual void ExibirInfo() {
Console.WriteLine("Exibição genérica\n");
}
}
AulaGravada.cs
namespace Cursos.Modelos;
class AulaGravada : Conteudo {
public int DuracaoMinutos {get;}
public AulaGravada(string? titulo, int duracaoMinutos) : base(titulo) {
DuracaoMinutos = duracaoMinutos;
}
public override void ExibirInfo() {
Console.WriteLine($"Título: {Titulo}");
Console.WriteLine($"Duração: {DuracaoMinutos} minutos.\n");
}
}
MaterialComplementar.cs
namespace Cursos.Modelos;
class MaterialComplementar : Conteudo {
public int Paginas {get;}
public MaterialComplementar(string? titulo, int paginas) : base(titulo) {
Paginas = paginas;
}
public override void ExibirInfo() {
Console.WriteLine($"Título: {Titulo}");
Console.WriteLine($"Páginas: {Paginas}\n");
}
}