Nesse exercício além dos erros de código não entendi o uso de get / set
Em qual aula foi dado sobre esse termos?
Sei que nome e artista são propriedades da classe Musica, e o método ExibirNomeEArtista() as utiliza para imprimir a informação.
Nesse exercício além dos erros de código não entendi o uso de get / set
Em qual aula foi dado sobre esse termos?
Sei que nome e artista são propriedades da classe Musica, e o método ExibirNomeEArtista() as utiliza para imprimir a informação.
Eu recomendo que você faça um construtor (imagino que ainda não tenha chegado nessa parte), resumindo: ele estará inicializando os objetos classes a partir desta classe.
Coloquei os nomes das propriedades em maiúsculo, sendo a forma correta pelo csharp, vai funcionar de qualquer forma (maiusculo ou minusculo), mas de qualquer forma, fica pela sua escolha.
// Modelos/Musica.cs
class Musica
{
public Musica(string nome, string artista)
{
Nome = nome;
Artista = artista;
}
public string Nome { get; }
public string Artista { get; }
public void ExibirDiscografia()
{
Console.WriteLine($"Música: {Nome}");
Console.WriteLine($"Artista: {Artista}");
}
}
// Program.cs
Musica musica = new Musica("Músical Tal", "Artista Tal");
musica.ExibirDiscografia();
Você pode colocar o "?" no tipo, com isso, você estará garantido que esses dados serão passados corretamente, sem precisa de um construtor para tal feito.
// Modelos/Musica.cs
class Musica
{
public string? nome { get; set; }
public string? artista { get; set; }
public void ExibirDiscografia()
{
Console.WriteLine($"Música: {nome}");
Console.WriteLine($"Artista: {artista}");
}
}
// Program.cs
Musica musica = new Musica();
musica.nome = "Músical tal";
musica.artista = "Artista tal";
musica.ExibirDiscografia();
O { get; } de forma exclusiva para que possa obter valores, quando você informar o nome da música ou artista, quem faz o trabalho de devolver essa informação é o get.
musica.nome = "Música";
Console.WriteLine(musica.nome); // { get; }
O { set; } serve para quando você deseja um valor para um elemento ou propriedade, caso você remova isso, só poderá atribuir valores através do construtor, como fiz acima.
musica.nome = "Música"; // { set; }
Fazer um construtor ? Ainda não cheguei a essa aula, mas então o exercício(Faça como eu fiz) foi antecipado deveria ser colocado mais para o final! Vou assistir todas as aulas e somente no final vou praticar .
Grato pela explicação!