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.
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();
}
}
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.
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();
}
}