namespace PraticandoEncapsulamento.Classes;
internal class Curso
{
//Atributos
public string Nome { get; set; }
public int VagasTotais { get; set; }
public int VagasDisponiveis
{
get { return VagasTotais - estudantes.Count; }
}
private List<Estudante> estudantes { get; }
//Contrutor
public Curso(string nome, int vagasTotais)
{
Nome = nome;
VagasTotais = vagasTotais;
estudantes = new List<Estudante> ();
}
//Método
public bool Matricular(Estudante estudante)
{
if (VagasDisponiveis > 0)
{
estudantes.Add(estudante);
Console.WriteLine($"Estudante matriculado com sucesso.");
return true;
}
Console.WriteLine($"Erro: Não há vagas disponíveis para este curso.");
return false;
}
public void ListarMatriculados()
{
if (estudantes.Count == 0)
{
Console.WriteLine("Nenhum estudante matriculado ainda.");
return;
}
Console.WriteLine($"Estudantes matriculados em Lógica de Programação:");
foreach (var est in estudantes)
{
Console.WriteLine($"- {est.Nome}");
}
}
}
namespace PraticandoEncapsulamento.Classes;
internal class Estudante
{
//Atributos
public string Nome { get; }
//Construtor
public Estudante(string nome)
{
Nome = nome;
}
}