Pular para o conteúdo principal

Classes, Atributos e Métodos.

Projeto

A partir desse post iremos considerar o desenvolvimento de um projeto para um supermercado, e o mesmo será utilizado como exemplo no decorrer dos demais post. Iremos começar pela criação de um produto para esse supermercado, mas como podemos transformar um objeto da vida real em código Java?

Classes

Na linguagem Java todas as vezes que precisamos criar novos códigos ou transformar algum objeto da vida real em código, utilizamos as classes. As classes são constituídas por um nome, portanto iremos criar uma classe chamada Produto. Veja o exemplo abaixo:
public class Produto {
 
}
Atributos

O supermercado precisa que cada produto obtenha um código, nome e um valor, mas como podemos acrescentar essas informações para um produto? Utilizamos os Atributos! Eles tem a finalidade de adicionar quaisquer tipo de característica que uma classe precisa. Veja o exemplo:
public class Produto {

 int codigo;
 String nome;
 double valor;
 
}
Métodos

A regra de negócio do supermercado informa que cada produto registrado precisa calcular o seu imposto e acrescentar em seu valor, mas como podemos fazer para que a classe Produto saiba fazer essa regra de negócio? Para quaisquer tipos de processos que uma determinada Classe precisa fazer, utilizamos os métodos! Veja o exemplo:
public class Produto {

 //atributos
 int codigo;
 String nome;
 double valor;

 //método
 void aplicaImposto(double imposto) {
  double impostoCalculado = this.valor * imposto;
  this.valor = this.valor + impostoCalculado;
 }

}
Note que o método que criamos recebe uma variável imposto do tipo double. Todas as variáveis que são informadas dentro desses parênteses de cada método, são chamadas de parâmetros, elas tem a finalidade de receber um valor específico conforme o seu tipo, ou seja, no exemplo acima, podemos receber qualquer tipo de valor que o double suporte.

Instância e Objetos

Certo, criamos uma classe, porém como podemos utilizá-la? Ou melhor, como podemos criar um Produto novo? Todas as vezes que queremos fazer uso de uma determinada classe em Java, fazemos uma instância dessa classe, isso significa que por meio dessa instância, teremos acesso a todo conteúdo disponível da classe. Veja o exemplo:
//Nova Instância
new Produto();
Agora criamos uma nova instância da classe Produto. Para fazer uso dessa instância precisamos armazenar essa instância em uma variável que a suporta, ou seja, iremos armazena-lá numa variável do tipo Produto. Todas as variáveis que recebem uma instância são chamadas de objetos! É por meio desses objetos que conseguimos fazer acesso a todo conteúdo disponível da classe que foi instanciada. Então vamos criar uma classe que é responsável por criar produtos. Veja o exemplo:
public class CriaProduto {

 public static void main(String[] args) {

  // objeto do tipo Produto
  Produto produto = new Produto();
  
 }
Modificando os Atributos

Agora que temos um objeto do tipo produto, podemos alterar as informações desse produto, por exemplo, podemos informar qual é o código, nome e o valor, por fim, podemos imprimir o conteúdo que foi cadastrado nesse produto. Veja o exemplo:
public class CriaProduto {

 public static void main(String[] args) {

  // objeto do tipo Produto
  Produto produto = new Produto();

  // Modificando conteúdo desse objeto
  produto.codigo = 1;
  produto.nome = "refrigerante";
  produto.valor = 2.0;

  // Imprimindo informações do objeto
  System.out.println("código do produto: " + produto.codigo);
  System.out.println("nome do produto: " + produto.nome);
  System.out.println("valor do produto " + produto.valor);

 }
}
Utilizando os métodos

Cadastramos um produto, porém, na regra de negócio, cada produto precisa calcular um imposto, ou seja, teremos que utilizar o método aplicaImposto() da classe Produto utilizando o objeto que criamos. Veja o exemplo:
public class CriaProduto {

 public static void main(String[] args) {

  Produto produto = new Produto();

  produto.codigo = 1;
  produto.nome = "refrigerante";
  produto.valor = 2.0;

  produto.aplicaImposto(0.10);

  System.out.println("código do produto: " + produto.codigo);
  System.out.println("nome do produto: " + produto.nome);
  System.out.println("valor do produto " + produto.valor);

 }
}
Vamos testar o código!
  1. Primeiro, crie os dois arquivos, Produto.class e CriaProduto.class, no diretório onde você irá compilar e executar o seu código, conforme foi apresentado no decorrer desse post. 
  2. Agora Vamos compilar os dois arquivos de uma vez só, utilizando o comando javac *.java, isso significa que todos os arquivos dentro desse diretório cuja a extensão seja .java serão compilados. conforme o exemplo:

Antes de rodar o código, precisamos saber qual das duas classes nós temos que executar. Todo código Java executa em uma classe que contém o método main (public static void main(String[] args){}). Esse método main é responsável por iniciar a aplicação, ou seja, precisamos iniciar a aplicação pela classe CriaProduto, pois ela contém esse método. Veja o exemplo:


Observe que foi impresso todo conteúdo que foi cadastrado, inclusive o método que aplica o imposto foi executado com sucesso, pois ele aplicou 10% em cima do valor, no caso aumentou o produto de 2.0 para 2.2. Certo, mas, e se por um acaso tentássemos rodar a classe Produto? O que aconteceria? Um erro! A JVM iria informar que não conseguiu encontrar nenhum método main e por isso não consegue executar. Veja o exemplo:


Legal, agora como podemos criar outro produto ao mesmo tempo em que já exista o produto refrigerante? Fazendo uma nova instância e atribuindo a um novo objeto! Veja o exemplo:
public class CriaProduto {

 public static void main(String[] args) {

  Produto produto = new Produto();

  produto.codigo = 1;
  produto.nome = "refrigerante";
  produto.valor = 2.0;

  produto.aplicaImposto(0.10);

  System.out.println("código do produto: " + produto.codigo);
  System.out.println("nome do produto: " + produto.nome);
  System.out.println("valor do produto " + produto.valor);

  //Novo objeto!
  Produto produto2 = new Produto();

  produto2.codigo = 2;
  produto2.nome = "suco";
  produto2.valor = 1.0;

  produto2.aplicaImposto(0.15);

  System.out.println("código do produto: " + produto2.codigo);
  System.out.println("nome do produto: " + produto2.nome);
  System.out.println("valor do produto " + produto2.valor);

 }
}
Veja que a única coisa que tivemos que alterar foram, os atributos e a impressão utilizando o novo objeto produto2. Vamos rodar e ver o que acontece:


Como percebemos foram impressos dois objetos diferente, isso significa que, mesmo que a instância seja do mesmo tipo, toda nova instância é diferente, logo, todos os objetos são diferentes! Veja a demonstração:


Nessa demonstração fica mais claro de entender como o programa se comportou. É assim que funcionam os objetos em Java. Lembre-se Classes e Objetos são coisas distintas! Esse é um assunto que por muitas das vezes confundem a todos que estão iniciando na programação Java.

Comentários

  1. Slots Paradise, Las Vegas - Mapyro
    › casino › slot-mariner › casino › slot-mariner Find 충청남도 출장샵 Casino Slot Marina 속초 출장안마 Las Vegas 창원 출장안마 (Mapyro). Las Vegas, 구리 출장안마 Nevada. United 의왕 출장안마 States. United States. Map. Map.

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

O padrão CamelCase

CamelCase é o padrão que ensina a prática de escrever palavras compostas ou frases, onde cada palavra é iniciada em maiúsculo e unidas sem espaço. O CamelCase é um padrão muito utilizado em várias linguagens de programação, como o Java, PHP e Ruby. Apesar de ser um padrão muito adotado na programação, é normal encontrarmos algumas diferenças de uma linguagem para a outra. Mas por que eu devo utilizar o CamelCase? Esta é uma pergunta muito importante que você deve sempre fazer quando estudar um novo padrão.

Criando o primeiro programa em Java no Windows

Neste tutorial vamos criar uma aplicação Java utilizando o um editor de texto qualquer e o prompt de comando do Windows. Pré requisitos: JDK. (Caso não tenha, temos um tutorial de instalação e configuração ) Escolha um local aonde você queira armazenar o seu programa e crie um diretório com o nome que desejar. Utilizaremos a unidade C: e criaremos um diretório com nome java, conforme no exemplo abaixo: