Ir ao conteúdo
  • Cadastre-se

Java Métodos acessores getter and setter


Posts recomendados

Fala galera, n sei se está certo mas eu tava pensando, não é extremamente necessário usar o getter e setter né? porque quando vou criar os métodos em outra classe, normalmente eu leio valores por lá e só retorno o valor final, e a classe principal normalmente vem com um menu somente, ou com algo pra chamar os métodos de outra classe.

Link para o comentário
Compartilhar em outros sites

19 horas atrás, CaioSan disse:

não é extremamente necessário usar o getter e setter né?

Descordo pois o encapsulamento em java é extremamente importante e serve para controlar o acesso aos atributos e métodos de uma classe. É uma forma eficiente de proteger os dados manipulados dentro da classe, além de determinar onde esta classe poderá ser manipulada. Usamos o nível de acesso mais restritivo, private, que faça sentido para um membro particular.

 

19 horas atrás, CaioSan disse:

porque quando vou criar os métodos em outra classe, normalmente eu leio valores por lá e só retorno o valor final

Java é uma linguagem orientada a objetos e tem seus conceitos. Você não pode ir contra eles. Nem sempre uma classe pode ser responsável por determinado serviço ou ação e isso também depende muito da arquitetura utilizada no seu algoritmo. Enfim o que quero dizer é que nem tudo que funciona está certo pois apesar do java aceitar que você programe de diversas maneiras você precisa seguir determinados padrões.

Leia este artigo e entenda melhor o porque muitos programadores, apesar de utilizarem linguagens orientadas a objetos, não sabem utilizar alguns dos principais conceitos desse paradigma orientado a objetos e, por isso, desenvolvem sistemas com alguns erros conceituais e acabam escrevendo mais código que o necessário, não conseguindo reutilizar o código como seria possível.

https://www.devmedia.com.br/principais-conceitos-da-programacao-orientada-a-objetos/32285

Link para o comentário
Compartilhar em outros sites

@herbertbahia Mas por exemplo, ao invés de eu ficar criando um monte de getters e setters para acessar os atributos de outra classe, qual o problema de fazer isso na própria classe e o próprio método retornar um valor ou modificar os atributos? Vou mandar um trecho de código como exemplo.  

public void cadastrarProdutos() {
        System.out.println("Digite o numero do item faturado: ");
        numItemFaturado = leia.nextInt();
        System.out.println("Digite o nome do item: ");
        descricaoItem = leia.next();
        System.out.println("Digite a quantia comprada: ");
        qtdComprada = leia.nextInt();
        System.out.println("Digite o preco do item comprado: ");
        precoItem = leia.nextInt();         
        }

///Por exemplo no próprio método eu leio os atributos da classe, sem usar o set.

 

Link para o comentário
Compartilhar em outros sites

17 horas atrás, CaioSan disse:

qual o problema de fazer isso na própria classe e o próprio método retornar um valor ou modificar os atributos

 

 Java é uma linguagem de alto nível. Diferentemente da linguagem c por exemplo que é uma linguagem de baixo nível.

O problema é que você está utilizando o Java para programar como programação estruturada de baixo nivel sendo que é de orientação a objetos.

Tente da uma pesquisada sobre os pilares da orientação a objetos.

Vou disponibilizar um link para clarear.

Leia com atenção, observe as gravuras.

https://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264

Na orientação a objetos você tem que abstrair os objetos e evitar que um único objeto seja responsável por todas funcionalidades do sistema.

Utilizando arquitetura mvc por exemplo

Produto é um objeto que será representado por uma classe.

Cadastrar produto é um método que será representado por uma classe de serviço (produtoService).

Nesse caso o produto seria instância na classe principal e utilizando uma instância de serviço chamaria o método cadastrar produto() e essr objeto seria flexível e poderia ser reutilizado em n situações.

17 horas atrás, CaioSan disse:
public void cadastrarProdutos()

Não faz sentido ter um método chamado assim sendo que o que ele faz de fato não é cadastrar um produto pois você só está lendo as informações do teclado dentro dele.

Faria sentido somente se você passa-se um produto por parâmetro ou talvez os atributos do produto e de fato cadastrasse o produto em um banco de dados ou em uma collection como por exemplo uma lista.

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!