Classe Program:
Agenda agenda = new("Marina Souza");
agenda.AdicionarContato(new Contato("Carlos", "11998887777"));
agenda.AdicionarContato(new Contato("Carlos", "11991112222"));
agenda.AdicionarContato(new Contato("Julia", "21988776655"));
agenda.ListarContatos();
Classe Agenda:
namespace Encapsulamento;
internal class Agenda(string proprietario)
{
private readonly List<Contato> contatos = [];
public string Proprietario { get; set; } = proprietario;
public int QuantidadeContatos => contatos.Count;
public bool AdicionarContato(Contato contato)
{
if (!contatos.Any(c => c.Nome == contato.Nome))
{
contatos.Add(contato);
return true;
}
else
{
Console.WriteLine("Contato com esse nome já está na agenda.");
return false;
}
}
public void ListarContatos()
{
Console.WriteLine($"Agenda de: {Proprietario}");
Console.WriteLine("Contatos:");
foreach (Contato contato in contatos)
{
Console.WriteLine($"- {contato.Nome} | {contato.Telefone}");
}
Console.WriteLine($"Total de contatos: {QuantidadeContatos}");
}
}
Classe Contato:
namespace Encapsulamento;
internal class Contato(string nome, string telefone)
{
public string Nome { get; set; } = nome;
public string Telefone { get; set; } = telefone;
}