namespace PraticandoEncapsulamento.Classes;
internal class Contato
{
//Atributos
public string Nome { get; }
public string Telefone { get; }
//Construtor
public Contato(string nome, string telefone)
{
Nome = nome;
Telefone = telefone;
}
}
namespace PraticandoEncapsulamento.Classes;
internal class Agenda
{
//Atributos
public string Proprietario { get; set; }
private List<Contato> contatos { get; set; }
//construtor
public Agenda(string proprietario)
{
Proprietario = proprietario;
}
//Métodos
public void AdicionarContato(Contato contato)
{
//Verificar se o contato já existe
bool verificacao = false;
//Se a lista de contatos não for nula, verificar se o contato já existe
if (contatos != null)
{
foreach (Contato c in contatos)
{
if (c.Nome == contato.Nome)
{
verificacao = true;
}
}
}
else
{
contatos = new List<Contato>();
}
//Caso não exista, adicionar
if (!verificacao)
{
contatos.Add(contato);
}
else
{
Console.WriteLine("Contato com esse nome já está na agenda.");
}
}
public void ListarContatos()
{
Console.WriteLine($"Agenda de: {Proprietario} \nContatos:");
foreach (Contato c in contatos)
{
Console.WriteLine($"- Contatos: {c.Nome} | {c.Telefone}");
}
Console.WriteLine($"Total de contatos: {contatos.Count}");
}
}
using PraticandoEncapsulamento.Classes;
Agenda agenda = new Agenda("Marina Souza");
agenda.AdicionarContato(new Contato("Carlos", "11998887777"));
agenda.AdicionarContato(new Contato("Carlos", "11991112222")); // duplicado
agenda.AdicionarContato(new Contato("Julia", "21988776655"));
agenda.ListarContatos();