Duvida relativa ao conceito O.O

Boa tarde (=

estive lendo um pouco a respeito de O.O, vi que acessar os atributos diretamente não é uma boa prática.

este conceito é válido ?

se é válido então terei que passar os valores via parametro,
mas em um formulario de cadastro por exemplo ficaria muito extenso ,
se orientação a obejto é para praticidade, acredito estar com o conceito errado =\

Cara da uma olhada no conceito de encapsulamento.

http://www.arquivodecodigos.net/dicas/java-entendendo-o-conceito-de-encapsulamento-encapsulation-em-java-2424.html

[quote]estive lendo um pouco a respeito de O.O, vi que acessar os atributos diretamente não é uma boa prática.

este conceito é válido ? [/quote]
Com certeza. Encapsulamento é um dos pilares da Orientação a Objetos.

[quote]mas em um formulario de cadastro por exemplo ficaria muito extenso ,
se orientação a obejto é para praticidade, acredito estar com o conceito errado[/quote]
Não entendi, seja um pouco mais claro para que eu possa tentar explicar e esclarecer melhor.

Abs,

Por exemplo: tenho um formulario de cadastro de cliente, onde há diversos campos como eu faria para atribuir os valores dos campos sem acessar diretamente os atributos?

eu vi muitas pessoas no curso fazendo da seguinte forma

ex em php:

...
$usuario = new usuario();

$usuario->nome = $_POST[nome];
...
$usuario->salvar();

desta forma os atributos terão de ser publicos,
e esse método salvar é um metodo publico que dentro dele aponta para outros dois métodos private (inserir,atualizar), quando vi achei um absurdo, mas não vejo outra forma.

diego.sas vou da uma lida agora vlw

obrigado pelo retorno =D

na classe Usuário você teria dois métodos especiais chamados de getters e setters para acessar os atributos de maneira encapsulada.
Ex:

public class Usuario{
    private String nome;
    
    public String getNome(){
        return this.nome;
    }

    public void setNome(String nome){
         this.nome = nome;
    }
}

E para acessá-los você cria uma instancia de usuário e invoca os métodos da seguinte maneira:

Usuario user = new Usuario();
user.setNome("Henrique");
String nome = user.getNome();

System.out.println(nome);

Abs,


public class Usuario
{
         private String nome;

   
        public String getNome()
       { 
             return nome;
        }

        public void setNome(String nome)
       { 
             return  this.nome = nome;
        }


}

public class UsaUsuario
{
       public static void main(String args[])
{
    Usuario usuario = new Usuario();
    usuario.setNome("Diego");
    System.out.print(usuario.getNome);    
}
}

Entendi perfeitamente, para o que vou fazer já é o suficiente \o/

Obrigadão =D

Pode fechar !! :smiley: