terça-feira, 7 de janeiro de 2014

Tutorial Java - Parte 5 - Criação da Classe Locação

CRIANDO CLASSES E ATRIBUTOS NA PRÁTICA
Complementando a quarta parte onde construímos a classe MídiaDigital, para completarmos nosso mini sistema de locadora, precisamos da prestação do serviço, precisamos unir o nosso cliente ao nosso produto, através do nosso serviço de locação. No mundo Orientado a Objetos, a ligação entre as classes, ou melhor entre os objetos se chama relacionamento. O nosso cliente pode locar um ou mais mídias digitais (DVD/BLU-RAY) e devolvê-las em um determinada data pagando um determinado valor.  Para guardar estas informações necessitamos criar a classe Locação. Vamos a prática então:

Seguem as etapas passo a passo:

1) Vamos reabrir o eclipse instalado executando o arquivo c:\eclipse\eclipse.exe.

2) Aparecerá a tela Workspace Launcher, basta clicar em OK.

3) Clique com o botão direito em cima da pasta src e selecione new -> class.

4) Na tela New Java Class altere o campo "Package" para "br.com.videolocadora.model" sem as aspas.

5) No campo "Name" digite "Locacao" sem as aspas e sem acento e clique no botão Finish.

6) Aparecerá uma tela com o seguinte texto:

package br.com.videolocadora.model;

public class Locacao {

}

7) Vamos criar os atributos da classe Locacao.

8) Vamos começar com o atributo dataLocacao. No padrão adotado no JAVA as classes possuem a primeira letra de cada palavra em maiúsculo, mas os atributos tem a primeira letra de todas em minúsculo. Isto ficará claro na exemplificação. Digite o que está em negrito no texto abaixo:

package br.com.videolocadora.model;

public class Locacao {

private Date dataLocacao;

}

9) Observe que usamos o tipo Date utilizados para datas em java. Observe que Date ficou com um sublinhado em vermelho. Esta indicação mostra que o tipo Date ainda não foi importado para esta classe. Uma dica legal é utilizar as teclas Ctrl+Shift+0 (é a letra O e não o numeral 0). Esta tecla cria automaticamente os imports. O import é a indicação de todas as outras classes que são reaproveitadas neste código, no caso estou importando com Date todas as funcionalidades para este campo.

package br.com.videolocadora.model;

import java.util.Date;

public class Locacao {
private String dataLocacao;

}

10) Para que uma locação ocorra precisamos ter a figura do cliente e a mídia que ele está locando. Desta forma iremos colocá-las como atributos da Locacao, conforme em destaque abaixo:
package br.com.videolocadora.model;

import java.util.Date;

public class Locacao {
private Date dataLocacao;
private Cliente cliente;
private MidiaDigital midiaDigital;

}

11) Precisamos guardar também o preço e a data de prevista de entrega. O preço ou valores com casas decimais são bem representadas com o tipo Double em java, como é mostrado abaixo:
package br.com.videolocadora.model;

import java.util.Date;

public class Locacao {
private Date dataLocacao;
private Cliente cliente;
private MidiaDigital midiaDigital;
 private Double preco;
 private Date dataPrevistaEntrega;
}


12) Agora precisamos guardar o retorno. O que é necessário quando o cliente devolve o DVD/BLU-RAY? Precisamos saber a data da entrega efetiva e em casos de atrasos precisamos saber o valor da multa. Logo, vamos a luta novamente.


package br.com.videolocadora.model;

import java.util.Date;

public class Locacao {
private Date dataLocacao;
private Cliente cliente;
private MidiaDigital midiaDigital;
 private Double preco;
 private Date dataPrevistaEntrega;

 private Date dataEfetivaEntrega;
 private Double multaPorAtraso;
}

13) Vamos criar agora apenas um identificador da Locacao.

package br.com.videolocadora.model;

public class Locacao {

private Integer idLocacao;
private Date dataLocacao;
private Cliente cliente;
private MidiaDigital midiaDigital;
 private Double preco;
 private Date dataPrevistaEntrega;

 private Date dataEfetivaEntrega;
 private Double multaPorAtraso;
}

14) Salve todas as suas alterações com as teclas Ctrl + S.

15) Estamos quase finalizando nossa classe, o último passo é gerar os métodos que permitem acessar e alterar os atributos em cima. O Eclipse tem outro facilitador para isto: Clique com o botão direito do mouse em cima do programa Cliente e selecione a opção Source -> Generate Getters and Setters...;

16) Na tela Generate Getters and Setters clique no botão Select All e depois no botão OK.

17) O programa deve ficar como listado abaixo.
package br.com.videolocadora.model;

import java.util.Date;

public class Locacao {

private Integer idLocacao;
private Date dataLocacao;
private Cliente cliente;
private MidiaDigital midiaDigital;
private Double preco;
private Date dataPrevistaEntrega;

private Date dataEfetivaEntrega;
private Double multaPorAtraso;

public Integer getIdLocacao() {
return idLocacao;
}

public void setIdLocacao(Integer idLocacao) {
this.idLocacao = idLocacao;
}

public Date getDataLocacao() {
return dataLocacao;
}

public void setDataLocacao(Date dataLocacao) {
this.dataLocacao = dataLocacao;
}

public Cliente getCliente() {
return cliente;
}

public void setCliente(Cliente cliente) {
this.cliente = cliente;
}

public MidiaDigital getMidiaDigital() {
return midiaDigital;
}

public void setMidiaDigital(MidiaDigital midiaDigital) {
this.midiaDigital = midiaDigital;
}

public Double getPreco() {
return preco;
}

public void setPreco(Double preco) {
this.preco = preco;
}

public Date getDataPrevistaEntrega() {
return dataPrevistaEntrega;
}

public void setDataPrevistaEntrega(Date dataPrevistaEntrega) {
this.dataPrevistaEntrega = dataPrevistaEntrega;
}

public Date getDataEfetivaEntrega() {
return dataEfetivaEntrega;
}

public void setDataEfetivaEntrega(Date dataEfetivaEntrega) {
this.dataEfetivaEntrega = dataEfetivaEntrega;
}

public Double getMultaPorAtraso() {
return multaPorAtraso;
}

public void setMultaPorAtraso(Double multaPorAtraso) {
this.multaPorAtraso = multaPorAtraso;
}

}


18) Finalizamos mais uma etapa importante do nosso tutorial. Até a próxima etapa.

Grato


Nenhum comentário:

Postar um comentário