Interface:
interface ICurso
{
public void ValidarConteudo();
public void PublicarCurso();
}
Classe 1:
class Instrutor
{
public Instrutor(string nome, string especialidade)
{
Nome = nome;
Especialidade = especialidade;
}
public string Nome { get; }
public string Especialidade { get; }
}
Classe 2:
class CursoProgramacao : ICurso
{
public CursoProgramacao(string titulo, Instrutor instrutor)
{
Titulo = titulo;
Instrutor = instrutor;
}
public Instrutor Instrutor { get; }
public string Titulo { get; }
public void ValidarConteudo() => Console.WriteLine($"Validando conteúdo do curso de programação: {Titulo}");
public void PublicarCurso() => Console.WriteLine($"Curso publicado com sucesso: {Titulo} - Instrutor: {Instrutor.Nome} - {Instrutor.Especialidade}");
}
Classe 3:
class CursoDesign : ICurso
{
public CursoDesign(string titulo, Instrutor instrutor)
{
Titulo = titulo;
Instrutor = instrutor;
}
public Instrutor Instrutor { get; }
public string Titulo { get; }
public void ValidarConteudo() => Console.WriteLine($"Validando conteúdo do curso de disign: {Titulo}");
public void PublicarCurso() => Console.WriteLine($"Curso publicado com sucesso: {Titulo} - Instrutor: {Instrutor.Nome} - {Instrutor.Especialidade}");
}