Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

ATPS - Programação Orientada a Objetos

Por:   •  14/2/2018  •  3.274 Palavras (14 Páginas)  •  382 Visualizações

Página 1 de 14

...

1.3.3 ECLIPSE

Ambiente de desenvolvimento gratuito para a linguagem Java. Apesar de ser mais avançado que seu concorrente NetBeans, hoje em dia tem perdido popularidade para o concorrente mais novo IntelliJ.

2 RELATÓRIO 1

2.1 Descrição

De acordo com o enunciado:

“Fazer uma classe para representar o aluguel de um quarto (dica: armazene as informações de data e horário de entrada e saída separadas, ou seja, um campo inteiro para o dia de entrada, um campo inteiro para o mês de entrada, um campo inteiro para o ano de entrada, um campo inteiro para o horário de entrada etc.). Esta classe deve conter métodos para calcular o número de diárias e o valor a ser pago pelo locatário.”

De acordo com o “Princípio da Responsabilidade Única”, tomamos a liberdade de não deixar as informações de hospedagem, cálculos de diárias e impressão de recibo na mesma classe.

Foi decidido de comum acordo que é uma boa prática observar que cada objeto deve ter apenas uma motivação e ser alterado em apenas um ponto.

Não concordamos também com a quebra das datas de entrada e saída em campos separados, uma vez que o Java provê tipos específicos para armazenamento de data (Date e Calendar), além de toda uma API para cálculos de datas, adicionada na versão 8 do Java.

O pacote principal da aplicação é ead2.poo.atps.marau, existindo pacotes internos de acordo com a necessidade de organização do código.

2.2 Código fonte

2.2.1 APP.JAVA

/**

* Classe que inicia a aplicação.

*

*/

package ead2.poo.atps.marau;

import java.io.IOException;

import java.text.ParseException;

import ead2.poo.atps.marau.util.KeyboardReader;

public class App {

public static void main(String[] args) throws Exception {

App app = new App();

app.addBooking();

}

/**

* Método que abre uma nova hospedagem e imprime o respectivo recibo

*/

private void addBooking() throws IOException, ParseException {

Booking booking = getBoookingData();

ReceiptPrinter.print(booking);

}

private Booking getBoookingData() throws IOException, ParseException {

System.out.println("= Reserva de quarto =");

System.out.println();

String renterName = KeyboardReader.readLineAsString("Nome do locatario: ");

String checkin = KeyboardReader.readLineAsString("Data de entrada : ", "dd/MM/yyyy hh:mm");

String checkout = KeyboardReader.readLineAsString("Data de saída : ", "dd/MM/yyyy hh:mm");

int guests = KeyboardReader.readLineAsInteger("Acompanhantes : ");

double dailyRate = KeyboardReader.readLineAsDouble("Valor da diária : ");

return new Booking(renterName, checkin, checkout, guests, dailyRate);

}

}

2.2.2 BOOKING.JAVA

/**

*

* Classe responsável por armazenar as informações de hospedagem

*

*/

package ead2.poo.atps.marau;

import java.text.ParseException;

public class Booking {

private String renterName;

private String checkin;

private String checkout;

private int guests;

private double dailyRate;

private int dailyCount;

public Booking(final String renterName, final String checkin, final String checkout, final int guests, final double dailyRate) throws ParseException {

this.renterName = renterName;

this.checkin = checkin;

this.checkout = checkout;

this.guests = guests;

this.dailyRate = dailyRate;

this.dailyCount = DefaultPeriodCalculator.countDays(this.checkin, this.checkout);

}

public String getRenterName() {

return renterName;

}

public String getCheckin() {

return checkin;

}

public String getCheckout() {

return checkout;

}

public int getDailyCount() {

return dailyCount;

}

public double getTotalRate() {

return

...

Baixar como  txt (36.5 Kb)   pdf (127 Kb)   docx (49.9 Kb)  
Continuar por mais 13 páginas »
Disponível apenas no Essays.club