image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Roberto Filho
Roberto Filho20/08/2024 14:51
Compartilhe

Explorando a Estrutura e Funcionamento de um Projeto .NET

  • #.NET
  • #.NET C#

Configurações Iniciais

Antes de tudo para você ter um bom acompanhamento desse documento você deve ter o VSCode instalado na sua máquina, o .Net instalado e as extensões C# extensions, c#, instaladas no seu VScode. 

Primeiros passos com .Net

Para iniciarmos um projeto no .Net precisamos abrir o terminal no VSCode e colocarmos:

“dotnet new console”

image

Estrutura de um Projeto .Net

Quando você cria um novo projeto .NET, especialmente um projeto de console, a estrutura padrão inclui algumas pastas e arquivos importantes:

1. Pasta obj

  • Descrição: Contém arquivos temporários e arquivos de saída intermediários criados durante o processo de build (compilação).
  • Conteúdo: Arquivos de debug, informações sobre a compilação, e dados que ajudam o processo de build a funcionar corretamente.
  • Importância: Normalmente, você não precisa se preocupar com o conteúdo dessa pasta. Ela é gerenciada automaticamente pelo .NET SDK e pelo processo de build.

2. Pasta bin

  • Descrição: Contém os arquivos binários resultantes da compilação do seu projeto.
  • Conteúdo: Arquivos executáveis (.exe para projetos de console, por exemplo) e bibliotecas (.dll). Estes são os arquivos que você executa para rodar seu aplicativo.
  • Importância: Essa pasta é onde você encontrará os resultados da compilação do seu projeto. É importante para executar e distribuir seu aplicativo.

3. Arquivo Program.cs

  • Descrição: Este é o arquivo principal do seu projeto de console.
  • Conteúdo: Contém a classe Program com o método Main, que é o ponto de entrada do seu aplicativo. É onde você escreve o código que será executado quando seu aplicativo for iniciado.
  • Extensão: .cs, que indica que o arquivo está escrito em C#.
  • Importância: Este arquivo é essencial para a execução do seu aplicativo. É onde você coloca a lógica principal do seu programa.

4. Arquivo .csproj

  • Descrição: Este é o arquivo de projeto do C#.
  • Conteúdo: Usa a linguagem XML e contém metadados sobre o projeto, como dependências, configurações de compilação e informações sobre o próprio projeto.
  • Extensão: .csproj.
  • Importância: Define como o projeto deve ser compilado e quais bibliotecas ele usa. Você pode editar esse arquivo para adicionar ou remover pacotes NuGet, mudar configurações de build, etc.

6. Arquivo project.json

  • Descrição: Em versões mais antigas do .NET, esse arquivo era usado para definir configurações e dependências do projeto. No entanto, foi substituído pelo .csproj em versões mais recentes do .NET Core.
  • Importância: Se você estiver trabalhando com projetos mais antigos, pode encontrar esse arquivo. Atualmente, a configuração do projeto é gerenciada pelo arquivo .csproj.

Atenção: você pode fazer a mudança de versão do .NET porém se atente.

  • Importância: É crucial manter a versão do SDK consistente com a versão para a qual seu código foi escrito. Mudanças entre versões podem introduzir quebras de compatibilidade, então certifique-se de usar a versão correta do SDK

Caso aconteça de você perder as pastas Bin e Obj você poderá usar o comando 

  • Comando dotnet build: Se você não vê as pastas obj e bin após criar um projeto, execute dotnet build no terminal. Esse comando compila o projeto e cria essas pastas, gerando os arquivos necessários para executar e depurar o projeto.

O que é Abstração?

Abstração é um conceito fundamental na programação orientada a objetos que consiste em transformar um objeto do mundo real em um modelo simplificado e manejável na programação. Isso permite que complexidades do mundo real sejam representadas de forma eficiente e compreensível em código. Por exemplo, em um sistema de vendas, podemos criar uma abstração para representar uma entidade como um "Produto", que inclui atributos como preço e quantidade, e métodos como "AplicarDesconto()".

O que é uma Classe?

Uma classe é um modelo ou um template que define um tipo de objeto, incluindo suas propriedades (atributos) e comportamentos (métodos). Em termos simples, uma classe específica o que um objeto pode ter e o que pode fazer.

Exemplo de Classe

Considere a classe Pessoa. Esta classe pode ter:

  • Atributos: São as características ou propriedades da classe. Para a classe Pessoa, atributos comuns podem incluir:
  • nome: O nome da pessoa.
  • idade: A idade da pessoa.
  • Métodos: São as ações ou comportamentos que a classe pode realizar. Para a classe Pessoa, um método pode ser:
  • apresentar(): Um método que imprime ou retorna uma mensagem com o nome e a idade da pessoa.

Iremos nesse momento criar essa classe, para simplificar clicamos com o botão direito do mouse sobre artigo e selecionamos New C# e Class.

image

Em seguida digitamos o nome da classe que desejamos e clicamos enter. E txaram! nossa classe foi criada. Iremos colocar nossos propriedade nome e idade.

Propriedade

Uma propriedade em C# é definida com uma combinação de métodos get e set. Aqui está uma explicação de cada parte:

  • get: Método que retorna o valor da propriedade. Ele é chamado quando você acessa o valor da propriedade.
  • set: Método que atribui um valor à propriedade. Ele é chamado quando você define um novo valor para a propriedade.
Exemplo:

public string Nome { get; set; }

Isso significa que a propriedade Nome é uma maneira pública e acessível de armazenar e acessar o nome da pessoa. O compilador gera automaticamente o código para os métodos get e set, tornando a implementação mais concisa.

Exemplo:

public int Idade { get; set; }

Similarmente, a propriedade Idade permite acessar e modificar a idade da pessoa

image

Agora iremos criar o nosso método para que nosso objeto pessoa possa apresentar-se quando solicitado, conforme mostra a imagem abaixo.

image

Explicação Detalhada

1. Modificadores de Acesso: public

  • public: É um modificador de acesso que indica que o método Apresentar pode ser acessado de fora da classe Pessoa. Qualquer código que tenha uma instância da classe Pessoa pode chamar esse método.

2. Tipo de Retorno: void

  • void: Indica que o método não retorna nenhum valor. Em vez de devolver um valor, ele realiza uma ação — neste caso, imprime uma mensagem no console.

3. Nome do Método: Apresentar

  • Nome: Apresentar. O nome do método é como você o chamará quando quiser invocá-lo. O nome deve ser descritivo e refletir o que o método faz.

4. Corpo do Método

  • Corpo: O corpo do método é o bloco de código que define o que o método faz. É delimitado por chaves {}.

5. Uso da Interpolação de Strings

Dentro do corpo do método, a linha:

Console.WriteLine($"Olá, meu nome é {Nome} e eu tenho {Idade} anos.");

  • Console.WriteLine: É um método da classe Console que escreve uma linha de texto no console. É uma forma de saída para o usuário.
  • Interpolação de Strings: A sintaxe $"..." é usada para interpolação de strings. Permite incluir variáveis diretamente dentro de uma string. No caso:
  • {Nome}: Será substituído pelo valor atual da propriedade Nome.
  • {Idade}: Será substituído pelo valor atual da propriedade Idade.

Funcionamento do Método

  1. Chamada do Método: Quando o método Apresentar é chamado, ele executa o código dentro de seu corpo.
  2. Acesso às Propriedades: O método acessa as propriedades Nome e Idade da instância da classe Pessoa. O compilador gera código para acessar os métodos get dessas propriedades.
  3. Impressão no Console: O método usa a função Console.WriteLine para imprimir uma mensagem no console. A mensagem inclui os valores das propriedades Nome e Idade, formatados conforme especificado.

Instanciando e Tornando a Classe Funcional

O Conceito de Instanciação

  • Classe: Por si só, uma classe é apenas uma definição ou um molde para criar objetos. Ela não faz nada até que você crie uma instância dela e utilize seus métodos e propriedades.
  • Instanciação: Criar uma instância de uma classe significa criar um objeto que usa o molde definido pela classe. O código para criar uma instância de uma classe e usá-la geralmente fica em um arquivo específico, como o Program.cs, que é o ponto de entrada do sistema em uma aplicação C#.

Estrutura do Program.cs

No arquivo Program.cs, você escreve o código que faz sua aplicação funcionar. Vamos explorar o processo:

image

Importação de Namespaces:

  • using: É uma diretiva que permite que você use classes e outras definições de um namespace sem ter que especificar o namespace completo toda vez.
  • InfIniciais: O namespace onde sua classe Pessoa está definida. Isso torna mais fácil referenciar a classe Pessoa sem ter que digitar o namespace completo.
  • Pessoa: O tipo da variável, que corresponde à classe que você deseja instanciar.
  • pessoa1: O nome da variável que armazenará a instância da classe Pessoa. Você pode escolher qualquer nome para essa variável.
  • new Pessoa(): Cria uma nova instância da classe Pessoa. O operador new aloca memória para o novo objeto e chama o construtor da classe Pessoa.

Usando a Instância da Classe:

Depois de criar a instância, você pode acessar e modificar suas propriedades e chamar seus métodos

  • pessoa1.Nome = "Roberto";: Usa o método set da propriedade Nome para definir o nome da pessoa.
  • pessoa1.Idade = 25;: Usa o método set da propriedade Idade para definir a idade da pessoa.
  • pessoa1.Apresentar();: Chama o método Apresentar da instância pessoa1, que imprime uma mensagem no console.

Comandos no Terminal

Para compilar e executar seu programa, você usará o terminal:

  • dotnet run: Esse comando compila e executa o programa. Você deve estar no diretório do projeto onde o arquivo .csproj está localizado. Por exemplo, se o nome do seu projeto for Exercicio, você deve navegar até o diretório Exercicio antes de executar dotnet run.

image

Compartilhe
Comentários (3)

PC

Pablo Cardoso - 20/08/2024 17:48

Top demais!!!

Caroline Freitas
Caroline Freitas - 20/08/2024 16:14


Caroline Freitas
Caroline Freitas - 20/08/2024 16:14

Muito bom seu tutorial