MusicPlay e um sistema de Stream Musical, desenvolvido na linguagem CSharp
onde o usuario pode realizar cadastro de Banda
, Album
e Musica
.
Há tambem uma classe chamada Episodio
que foi adicionada durante o desenvolvimento do projeto no curso, com foco no Stream de Filmes. A parte visual do programa e
exibida via Terminal
, visto que o projeto e apenas um pequeno conceito de Orientação a Objeto da linguagem CSharp.
🏷️ Classes
Introduzido os conceitos de Classes
como definir e para que server.
public class Banda
{
...
}
🏷️ Modificadores de Acessos
Explicado os casos usos dos modificadores de acessos de atributos
e metodos
das classes, tais como:
Modificadores | Descrição |
---|---|
internal | Modificador de acesso padrao se nenhum modificador for especificado. |
public | Permite que qualquer parte do programa acesse o tipo e os membros. |
private | Permite que apenas codigo da mesma classe ou estruturas (structs) acesse. |
protected | Permite que a mesma classe e classes derivadas dessa mesma classe acesse seu tipo e membros. |
public class Banda
{
private double ganhosDasBandas;
protected int quantidadeBandas;
}
🏷️ Constructor
Introduzido o metodo Constructor
, que e um tipo especial que será chamado automaticamente quando e criado uma instancia da classe.
class Banda
{
private string nomeBanda;
private int qtdeBandas;
public Banda(string nome, int quantidade)
{
nomeBanda = nome;
qtdeBandas = quantidade;
}
}
🔹 Nome do construtor deve ser o mesmo nome da classe.
🔹 Constructor pode ser public
, private
ou protected
.
🔹 Construtor não pode retornar nenhum valor, entao não pode contém nenhum tipo de retorno .
🔹 Construtor pode ter varios construtores com diferentes parametros, mas só pode ter um construtor sem parametros.
🔹 Se o construtor não e definido, o compilador CSharp
internamente cria o construtor.
🏷️ Collection List<>
Uma Collection de objetos fortemente tipada que armazena e acessa os seus valores
por indice, e possue metodos que classifica, pesquisa e modifica a lista.
public class Banda
{
// Forma completa de instanciar uma List.
public List<string> listaDeBandas = new List<string>();
// Forma simples de instanciar uma List.
public List<string> nomeDaBanda = new();
}
🏷️ Propriedades Get & Set
Introduzido o uso das propriedades get
e set
nas definições dos atributos das classes.
public class Banda
{
private double ganhosDasBandas { get; set; }
protected int quantidadeBandas { get; set; }
}
🏷️ Expressões Lambdas
Introduzido os conceitos das expressões ou funções Lambdas
com a flecha =>
.
public class Banda
{
protected int quantidadeBandas => nomeDasBandas.Count();
}
🏷️ Metodo Foreach()
Usado para percorrer uma List<>
ao invês do for
tradicional.
public class Banda
{
public List<string> nomeDasBandas = new();
public void ExibirBandas()
{
Console.WriteLine($"\nNomes das Bandas:\n");
foreach (var banda in nomeDasBandas)
Console.WriteLine($"-> {banda}");
}
}
No foreach()
pode ser omitido as chaves {}
quando for executa apenas uma unica linha dentro do metod, caso aja mais de uma linha de codigo dentro
do Foreach()
e preciso usar as chaves {}
no Foreach()
.
A palavra reservada void
indica que o metodo não terá nenhum tipo de retorno, tais como numero inteiro
, string
, booleano
ou algo
que necessita da palavra return
explicita no final do metodo, ou seja, quando não há a necessidade de usar a palavra reserda return
no metodo usamos void
, caso use return
deve informa o tipo do retorno (int
, string
, bool
, etc...)
![:octocat: :octocat:](https://github.githubassets.com/images/icons/emoji/octocat.png)
![:octocat: :octocat:](https://github.githubassets.com/images/icons/emoji/octocat.png)