Orientação a Objetos - Públicos e Privados

Nesta aula iremos aprender a utilização dos atributos e métodos públicos e privados, você verá na prática como utilizá-lo e também iremos alterar a nossa aplicação console criando mais uma opção no menu.

assinaturaAssine nossa Comunidade

POO -Métodos Públicos e Privados

Métodos Publicos são declarados dentro da classe com a palavra Public e poderão ser acessados pela instância do objeto.

Métodos Privados são declarados dentro da classe com a palavra Private e não poderão ser acessados pela instância do objeto. Serão acessados somente dentro da classe.

Declarar métodos como Públic ou Private é uma forma de organizar melhor o código, permitindo ou não seu acesso.

O código abaixo mostra um exemplo de método publico Gravar() na classe Cliente:

      
        namespace Classes
        {
          public class Cliente
          {
            public string Nome;
            public string Telefone;
            public string CPF;

            //método publico
            public void Gravar()
            {
              var clientes = Cliente.LerClientes();
              clientes.Add(this);
              if (File.Exists(caminhoBaseClientes()))
              {
                StreamWriter r = new StreamWriter(caminhoBaseClientes());
                r.WriteLine("nome;telefone;cpf");
                foreach(Cliente c in clientes)
                {
                  var linha = c.Nome + ";" + c.Telefone + ";" + c.CPF + ";";
                  r.WriteLine(linha);
                }
                r.close;
              }
            }
          
          }
        }
      
    

Quando criamos a instancia da classe cliente, o método Gravar fica disponivel para ser executado:

    
          
      namespace console_app  
        class Program 
          {
            static void Main(string[] args)
            {
              
              Cliente  cliente1 = new Cliente();
              cliente1.Nome = "Geraldo";
              cliente1.Telefone = "52144444";
              cliente1.CPF = "78541214121";
              cliente1.Gravar();
            }

          }
  
     
  

Vamos criar um método privado chamado Olhar() que será chamado dentro da classe Cliente, no método Gravar(). Dessa forma o método privado será executado:

      
        namespace Classes
        {
          public class Cliente
          {
            public string Nome;
            public string Telefone;
            public string CPF;

            //método publico
            public void Gravar()
            {
              this.Olhar();
              return
              
              var clientes = Cliente.LerClientes();
              clientes.Add(this);
              if (File.Exists(caminhoBaseClientes()))
              {
                StreamWriter r = new StreamWriter(caminhoBaseClientes());
                r.WriteLine("nome;telefone;cpf");
                foreach(Cliente c in clientes)
                {
                  var linha = c.Nome + ";" + c.Telefone + ";" + c.CPF + ";";
                  r.WriteLine(linha);
                }
                r.close;
              }
            }

            //método privado
            private void Olhar()
            {
              Console.WriteLine("O Cliente" + this.Nome + " está olhando para mim.")
            }

          
          }
        }
      
    

O Método Private Olhar() será executado através do método público Gravar(), ou seja não posso chamar o método Olhar() diretamente pelo objeto cliente1:

      
            
        namespace console_app  
          class Program 
            {
              static void Main(string[] args)
              {
                
                Cliente  cliente1 = new Cliente();
                cliente1.Nome = "Geraldo";
                cliente1.Telefone = "52144444";
                cliente1.CPF = "78541214121";
                cliente1.Gravar();
              }
  
            }
    
       
    

Orientação a Objetos - Públicos e Privados

Nesta aula iremos aprender a utilização dos atributos e métodos públicos e privados, você verá na prática como utilizá-lo e também iremos alterar a nossa aplicação console criando mais uma opção no menu.

Próximas Aulas:
assinaturaAssine nossa Comunidade

POO -Métodos Públicos e Privados

Métodos Publicos são declarados dentro da classe com a palavra Public e poderão ser acessados pela instância do objeto.

Métodos Privados são declarados dentro da classe com a palavra Private e não poderão ser acessados pela instância do objeto. Serão acessados somente dentro da classe.

Declarar métodos como Públic ou Private é uma forma de organizar melhor o código, permitindo ou não seu acesso.

O código abaixo mostra um exemplo de método publico Gravar() na classe Cliente:

      
        namespace Classes
        {
          public class Cliente
          {
            public string Nome;
            public string Telefone;
            public string CPF;

            //método publico
            public void Gravar()
            {
              var clientes = Cliente.LerClientes();
              clientes.Add(this);
              if (File.Exists(caminhoBaseClientes()))
              {
                StreamWriter r = new StreamWriter(caminhoBaseClientes());
                r.WriteLine("nome;telefone;cpf");
                foreach(Cliente c in clientes)
                {
                  var linha = c.Nome + ";" + c.Telefone + ";" + c.CPF + ";";
                  r.WriteLine(linha);
                }
                r.close;
              }
            }
          
          }
        }
      
    

Quando criamos a instancia da classe cliente, o método Gravar fica disponivel para ser executado:

    
          
      namespace console_app  
        class Program 
          {
            static void Main(string[] args)
            {
              
              Cliente  cliente1 = new Cliente();
              cliente1.Nome = "Geraldo";
              cliente1.Telefone = "52144444";
              cliente1.CPF = "78541214121";
              cliente1.Gravar();
            }

          }
  
     
  

Vamos criar um método privado chamado Olhar() que será chamado dentro da classe Cliente, no método Gravar(). Dessa forma o método privado será executado:

      
        namespace Classes
        {
          public class Cliente
          {
            public string Nome;
            public string Telefone;
            public string CPF;

            //método publico
            public void Gravar()
            {
              this.Olhar();
              return
              
              var clientes = Cliente.LerClientes();
              clientes.Add(this);
              if (File.Exists(caminhoBaseClientes()))
              {
                StreamWriter r = new StreamWriter(caminhoBaseClientes());
                r.WriteLine("nome;telefone;cpf");
                foreach(Cliente c in clientes)
                {
                  var linha = c.Nome + ";" + c.Telefone + ";" + c.CPF + ";";
                  r.WriteLine(linha);
                }
                r.close;
              }
            }

            //método privado
            private void Olhar()
            {
              Console.WriteLine("O Cliente" + this.Nome + " está olhando para mim.")
            }

          
          }
        }
      
    

O Método Private Olhar() será executado através do método público Gravar(), ou seja não posso chamar o método Olhar() diretamente pelo objeto cliente1:

      
            
        namespace console_app  
          class Program 
            {
              static void Main(string[] args)
              {
                
                Cliente  cliente1 = new Cliente();
                cliente1.Nome = "Geraldo";
                cliente1.Telefone = "52144444";
                cliente1.CPF = "78541214121";
                cliente1.Gravar();
              }
  
            }