Orientação a Objetos - Classes e instâncias

Nesta aula você irá entender o que é uma classe em C#, irá organizar os arquivos de configuração no App.config e irá ver as diferenças entre métodos estáticos e de instâncias

assinaturaAssine nossa Comunidade

Programação Orientada a Objetos - Classes e Instâncias


Classes são modelos de entidade que são abstraidos do mundo real, é como um protótipo, uma planta de uma casa e neste modelo são definidos quais propriedades e métodos essa classe terá.

Instância é o objeto concreto representado pela classe.

      
        
        // Vamos criar uma classe chamada Cliente com método de instância Gravar()(sem a palavra Static) e  
        // método estático LerClientes()(com a palavra Static ).
        
        namespace Classes
        {
          public class Cliente
          {
            public string Nome;
            public string Telefone;
            public string CPF;

            //método de instância da classe cliente
            public void Gravar()
            {
              
            }

            //método estático da classe cliente
            public Static List< Cliente> LerClientes()
            {
              var clientes = new List< Cliente>();

              return clientes;
            }
          }


        }
    
    
  
    
      
      // Vamos criar a função principal e criar instâncias dos objetos cliente1 e cliente2 através da Classe Cliente.
      
      namespace console_app  
        class Program 
          {
            static void Main(string[] args)
            {
              //Aqui vamos criar uma instância da classe Cliente (cliente1 ), utilizando o new.
              var cliente1 = new Cliente();
              cliente1.Nome = "Danilo";
              cliente1.Telefone="11999999999";
              cliente1.CPF="78545214521"

              //Só conseguimos acessar o método Gravar através da instância do objeto
              cliente1.Gravar();


              //Criamos uma nova instância da classe Cliente (cliente2)
              var cliente2 = new Cliente();
              cliente2.Nome = "Sheila";
              cliente2.Telefone="11999777999";
              cliente2.CPF="78549999997"
              cliente2.Gravar();

              
              //No exemplo a seguir, para acessar o método LerClientes, digitamos diretamente o nome da classe e chamamos  o  
              //método LerClientes, isso porque inserimos o Static quando criamos a função, sem a necessidade de criar a instância 
              //da classe, como foi feito com os objetos cliente1 e cliente 2 acima.
              
              Cliente.LerCLientes();
            }

          }
  
     
  

Arquivos de configuração

É um arquivo de marcação XML ( arquivo app.config ), parecido com o HTML, e serve para inserir configurações do sistema

O exemplo abaixo mostra um arquivo de configuração onde criamos o caminho de leitura de arquivo que pode ser alterado, sem a necessidade de compilar novamente o programa.

Na tag < appSettings> criamos a chave caminho_arquivos terá o caminho do arquivo que será lido.

        
        < ?xml version="1.0" encoding="utf-8"?>
        < configuration>
          < startup>

          < startup/>

          < appSettings>
            < add key="CaminhoArquivos" value='C:\arquivos\ /> 
          < /appSettings>

        < /configuration > 
      
      
    

Para utilizar o arquivo de configuração no projeto, precisamos adicionar a referência deste arquivo no projeto:

  1. No Visual Studio, clicar com o botão direito na pasta References do projeto;
  2. Clicar em Add References;
  3. Clicar em Framework;
  4. Fazer uma busca por Configuration;
  5. Selecionar o checkbox System Configuration.

Após selecionar o System Configuration, será habilitado uma sessão chamada ConfigurationManager. Através dele vamos ler o arquivo webconfig.

Abaixo mostraremos a função chamada Ler, que lê o arquivo através do caminho que colocamos no arquivo de configuração acima, chamando a Função caminhoArquivo() e retorna o caminho do arquivo utilizando a referência ConfigurationManager.AppSettings

        
          namespace Diretorio
          {
            class Arquivos
            {
              
              public static string caminhoArquivo()
              {
                return ConfigurationManager.AppSettings["CaminhoArquivos"];
              }


              public static void Ler(int numeroArquivo)
              {
                string arquivoComCaminho = caminhoArquivo() + "arq" + numeroArquivo + ".txt";
                Console.writeLine("=====Lendo arquivo=====\n" + arquivoComCaminho + "\n========");
                if(File.Exists(arquivoComCaminho))
                {
                  using(StreamReader arquivo = File.OpenText(arquivoComCaminho))
                  {
                    string linha;
                    while (linha = arquivo.ReadLine())!=null)
                    {
                      Console.WriteLine(linha);
                    }
                  }
                }

              }
            }
          }
      
      
    

Orientação a Objetos - Classes e instâncias

Nesta aula você irá entender o que é uma classe em C#, irá organizar os arquivos de configuração no App.config e irá ver as diferenças entre métodos estáticos e de instâncias

Próximas Aulas:
assinaturaAssine nossa Comunidade

Programação Orientada a Objetos - Classes e Instâncias


Classes são modelos de entidade que são abstraidos do mundo real, é como um protótipo, uma planta de uma casa e neste modelo são definidos quais propriedades e métodos essa classe terá.

Instância é o objeto concreto representado pela classe.

      
        
        // Vamos criar uma classe chamada Cliente com método de instância Gravar()(sem a palavra Static) e  
        // método estático LerClientes()(com a palavra Static ).
        
        namespace Classes
        {
          public class Cliente
          {
            public string Nome;
            public string Telefone;
            public string CPF;

            //método de instância da classe cliente
            public void Gravar()
            {
              
            }

            //método estático da classe cliente
            public Static List< Cliente> LerClientes()
            {
              var clientes = new List< Cliente>();

              return clientes;
            }
          }


        }
    
    
  
    
      
      // Vamos criar a função principal e criar instâncias dos objetos cliente1 e cliente2 através da Classe Cliente.
      
      namespace console_app  
        class Program 
          {
            static void Main(string[] args)
            {
              //Aqui vamos criar uma instância da classe Cliente (cliente1 ), utilizando o new.
              var cliente1 = new Cliente();
              cliente1.Nome = "Danilo";
              cliente1.Telefone="11999999999";
              cliente1.CPF="78545214521"

              //Só conseguimos acessar o método Gravar através da instância do objeto
              cliente1.Gravar();


              //Criamos uma nova instância da classe Cliente (cliente2)
              var cliente2 = new Cliente();
              cliente2.Nome = "Sheila";
              cliente2.Telefone="11999777999";
              cliente2.CPF="78549999997"
              cliente2.Gravar();

              
              //No exemplo a seguir, para acessar o método LerClientes, digitamos diretamente o nome da classe e chamamos  o  
              //método LerClientes, isso porque inserimos o Static quando criamos a função, sem a necessidade de criar a instância 
              //da classe, como foi feito com os objetos cliente1 e cliente 2 acima.
              
              Cliente.LerCLientes();
            }

          }
  
     
  

Arquivos de configuração

É um arquivo de marcação XML ( arquivo app.config ), parecido com o HTML, e serve para inserir configurações do sistema

O exemplo abaixo mostra um arquivo de configuração onde criamos o caminho de leitura de arquivo que pode ser alterado, sem a necessidade de compilar novamente o programa.

Na tag < appSettings> criamos a chave caminho_arquivos terá o caminho do arquivo que será lido.

        
        < ?xml version="1.0" encoding="utf-8"?>
        < configuration>
          < startup>

          < startup/>

          < appSettings>
            < add key="CaminhoArquivos" value='C:\arquivos\ /> 
          < /appSettings>

        < /configuration > 
      
      
    

Para utilizar o arquivo de configuração no projeto, precisamos adicionar a referência deste arquivo no projeto:

  1. No Visual Studio, clicar com o botão direito na pasta References do projeto;
  2. Clicar em Add References;
  3. Clicar em Framework;
  4. Fazer uma busca por Configuration;
  5. Selecionar o checkbox System Configuration.

Após selecionar o System Configuration, será habilitado uma sessão chamada ConfigurationManager. Através dele vamos ler o arquivo webconfig.

Abaixo mostraremos a função chamada Ler, que lê o arquivo através do caminho que colocamos no arquivo de configuração acima, chamando a Função caminhoArquivo() e retorna o caminho do arquivo utilizando a referência ConfigurationManager.AppSettings

        
          namespace Diretorio
          {
            class Arquivos
            {
              
              public static string caminhoArquivo()
              {
                return ConfigurationManager.AppSettings["CaminhoArquivos"];
              }


              public static void Ler(int numeroArquivo)
              {
                string arquivoComCaminho = caminhoArquivo() + "arq" + numeroArquivo + ".txt";
                Console.writeLine("=====Lendo arquivo=====\n" + arquivoComCaminho + "\n========");
                if(File.Exists(arquivoComCaminho))
                {
                  using(StreamReader arquivo = File.OpenText(arquivoComCaminho))
                  {
                    string linha;
                    while (linha = arquivo.ReadLine())!=null)
                    {
                      Console.WriteLine(linha);
                    }
                  }
                }

              }
            }
          }