1
resposta

Minha solução

namespace PraticandoEncapsulamento.Classes;

public class Paciente
{
    //Atributos
    public string Nome { get; }
    public int Idade { get; }
    
    //Construtor
    public Paciente (string nome, int idade)
    {
        Nome = nome;
        Idade = idade;
    }
}
namespace PraticandoEncapsulamento.Classes

{
    internal class HistoricoMedico
    {
        //Atributos
        internal string CodigoProntuario { get; }

        //Construtor
        public HistoricoMedico(string codigoProntuario)
        {
            CodigoProntuario = codigoProntuario;
        }

        //Métodos
        public void ExibirCodigo()
        {
            Console.WriteLine($"Código do Prontuário: {CodigoProntuario}");
        }
    }
}
using PraticandoEncapsulamento.Classes;

Paciente peciente = new Paciente("Luiz Costa", 42);
HistoricoMedico historico = new HistoricoMedico("XPT-9987");
historico.ExibirCodigo();

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Cristin! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Seu código ficou bem estruturado e mostra um bom domínio do conceito de encapsulamento em C#. A forma como você utilizou propriedades somente leitura (get;) está adequada para manter a integridade dos dados do objeto.

Uma dica interessante para o futuro é usar propriedades automáticas com inicialização, o que pode simplificar o código quando valores padrão são necessários. Veja este exemplo:


public class Paciente
{
    public string Nome { get; init; } = "Nao informado";
    public int Idade { get; init; } = 0;
}

Esse código define valores padrão que podem ser substituídos ao criar o objeto, ajudando na legibilidade e controle dos dados.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!