Professional Documents
Culture Documents
Programa C Ao Orientada A Objeto: An Isio Silva
Programa C Ao Orientada A Objeto: An Isio Silva
Anı́sio Silva
18 de Agosto de 2018
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 1/3
Exemplos:
Exemplo 01:
Dados do aluguel
Modelo do equipamento: Betoneira
Data Inicio (dd/MM/yyyy hh:ss) :15/07/2018 13:20
Data Retorno (dd/MM/yyyy hh:ss) :15/07/2018 17:40
Preço por hora:5.00
Preço por dia: 80.00
Cupom:
Valor total aluguel: 25.00
Taxa: 2.50
Total pago: 27.50
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 2/3
Exemplo 02:
Dados do aluguel
Modelo do equipamento: Betoneira
Data Inicio (dd/MM/yyyy hh:ss) :15/07/2018 13:20
Data Retorno (dd/MM/yyyy hh:ss) :18/07/2018 14:40
Preço por hora:5.00
Preço por dia: 80.00
Cupom:
Valor total aluguel: 320
Taxa: 16.00
Total pago: 336.00
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 3/3
Camada de Domı́nio
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 3/3
Camada de Negócio
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 4/3
Equipamento
1 public class Equipamento {
2 private String model ;
3
4 public Equipamento () {
5
6 }
7
8 public Equipamento ( String model ) {
9 this . model = model ;
0 }
1
2 public String getModel () {
3 return model ;
4 }
5
6 public void setModel ( String model ) {
7 this . model = model ;
8 }
9
0
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 4/3
1
2 }
Cupom
5
6 }
EquipamentoAluguel
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 4/3
1 import java . util . Date ;
2
3 /**
4 *
5 * @author anisio
6 */
7 public class E qu ip am en to Al ug ue l {
8 private Date inicio ;
9 private Date termino ;
0 private Equipamento equipamento ;
1 private Cupom cupom ;
2
3
4 public E qu ip am en to Al ug ue l () {
5
6 }
7
TaxaServico
0
1 public void processaCupom ( Equ ip am en to Al ug ue l
equipamneto ) {
2 long ti = equipamneto . getInicio () . getTime () ;
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 4/3
3 long tf = equipamneto . getTermino () . getTime () ;
4 double horas = ( double ) ( tf - ti ) /1000 /60 /60;
5
6 double valorAluguel ;
7 if ( horas <=10.0) {
8 valorAluguel = Math . ceil ( horas ) * precoHora ;
9
0 } else {
1 valorAluguel = Math . ceil ( horas /24) * precoDia ;
2 }
3
0 }
1
2 }
Programa
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 4/3
1 public class A lu g u el E q ui p a me n t os {
2
3 /**
4 * @param args the command line arguments
5 */
6 public static void main ( String [] args ) throws
ParseException {
7 Locale . setDefault ( Locale . US ) ;
8 Scanner sc = new Scanner ( System . in ) ;
9 SimpleDateFormat sdf = new SimpleDateFormat ( " dd / MM /
yyyy HH : mm " ) ;
0
1 System . out . println ( " Dados do aluguel " ) ;
2 System . out . print ( " Modelo do equipamento : " ) ;
3 String modelo = sc . nextLine () ;
4 System . out . print ( " Data Inicio ( dd / MM / yyyy ) : " ) ;
5 Date inicio = sdf . parse ( sc . nextLine () ) ;
6 System . out . print ( " Data Final ( dd / MM / yyyy ) : " ) ;
7 Date termino = sdf . parse ( sc . nextLine () ) ;
8
9 Equipament oA lu gu el ea = new E qui pa me nt oA lu gu el ( inicio ,
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 4/3
termino , new Equipamento ( modelo ) ) ;
0
1 System . out . print ( " Preco por hora : " ) ;
2 double precoHora = sc . nextDouble () ;
3 System . out . print ( " Preco por dia : " ) ;
4 double precoDia = sc . nextDouble () ;
5
6 ServiAluguel servicoAluguel = new ServiAluguel (
precoHora , precoDia , new B rasilT axaSer vico () ) ;
7
8 servicoAluguel . processaCupom ( ea ) ;
9
0
1 System . out . println ( " INVOICE : " ) ;
2 System . out . println ( " Basic payment : " + String . format ( "
%.2 f " , ea . getCupom () . getValorAluguel () ) ) ;
3 System . out . println ( " Tax : " + String . format ( " %.2 f " , ea .
getCupom () . getTaxa () ) ) ;
4 System . out . println ( " Total payment : " + String . format ( "
%.2 f " , ea . getCupom () . getTotalCupom () ) ) ;
5
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 4/3
6 sc . close () ;
7
8 }
9
0 }
Anı́sio Silva (Instituto de Engenharia -UFMT) Programação Orientada a Objeto 18 de Agosto de 2018 4/3