-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFastfood.java
More file actions
157 lines (139 loc) · 5.75 KB
/
Fastfood.java
File metadata and controls
157 lines (139 loc) · 5.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/**
* Classe que simboliza as empresas do tipo restaurante fast-food
*/
public class Fastfood extends Restaurante {
/**
* O número de mesas no interior
*/
private int mesasInterior;
/**
* O valor de faturação média por mesa por dia
*/
private float faturacaoMediaMesaDiario;
/**
* O número médio de clientes 'drive-thru' diário
*/
private float clientesMedioDrive;
/**
* O valor médio de faturação por cliente de 'drive-thru' (diário)
*/
private float faturacaoMediaClienteDrive;
/**
* Construtor da classe, recebe os dados para a inicialização
* @param nome O nome da empresa
* @param distrito O distrito onde se localiza a empresa
* @param coordenadas As coordenadas da empresa
* @param empregadosMesa O número de empregados de mesa
* @param salarioMedioAnual O custo do salário médio anual
* @param clientesMedioDiario O número médio de clientes diário
* @param diasFuncionamento O número de dias de funcionamento
* @param mesasInterior O número de mesas no interior
* @param faturacaoMediaMesaDiario A faturação média por mesa
* @param clientesMedioDrive O número médio de clientes 'drive-thru' diário
* @param faturacaoMediaClienteDrive O valor médio de faturação por cliente de 'drive-thru' (diário)
*/
public Fastfood(String nome, String distrito, float[] coordenadas, int empregadosMesa, float salarioMedioAnual, float clientesMedioDiario, int diasFuncionamento, int mesasInterior, float faturacaoMediaMesaDiario, float clientesMedioDrive, float faturacaoMediaClienteDrive) {
super(nome, distrito, coordenadas, empregadosMesa, salarioMedioAnual, clientesMedioDiario, diasFuncionamento);
this.mesasInterior = mesasInterior;
this.faturacaoMediaMesaDiario = faturacaoMediaMesaDiario;
this.clientesMedioDrive = clientesMedioDrive;
this.faturacaoMediaClienteDrive = faturacaoMediaClienteDrive;
this.setCategoriaEmpresa(2);
}
// Métodos
/**
* Método utilizado para calcular a receita anual de uma determinada empresa a partir dos seus dados,
*
* @return O valor da receita anual
*/
public float calcularReceitaAnual() {
return ((mesasInterior * faturacaoMediaMesaDiario) + (clientesMedioDrive * faturacaoMediaClienteDrive)) * getDiasFuncionamento();
}
/**
* Método utilizado para calcular a despesa anual de uma determinada empresa a partir dos seus dados,
*
* @return O valor da despesa anual
*/
public float calcularDespesaAnual() {
return getEmpregadosMesa() * getSalarioMedioAnual();
}
// Getters and Setters e Overrides
/**
* Métodos de acesso externo ao número de mesas no interior
* @return o número de mesas no interior
*/
public int getMesasInterior() {
return mesasInterior;
}
/**
* Método para definir o número de mesas no interior
* @param mesasInterior o número de mesas no interior
*/
public void setMesasInterior(int mesasInterior) {
this.mesasInterior = mesasInterior;
}
/**
* Métodos de acesso externo à faturação média por mesa
* @return a faturação média por mesa
*/
public float getFaturacaoMediaMesaDiario() {
return faturacaoMediaMesaDiario;
}
/**
* Método para definir a faturação média por mesa
* @param faturacaoMediaMesaDiario a faturação média por mesa
*/
public void setFaturacaoMediaMesaDiario(float faturacaoMediaMesaDiario) {
this.faturacaoMediaMesaDiario = faturacaoMediaMesaDiario;
}
/**
* Métodos de acesso externo ao número médio de clientes 'drive-thru' diário
* @return o número médio de clientes 'drive-thru' diário
*/
public float getClientesMedioDrive() {
return clientesMedioDrive;
}
/**
* Método para definir o número médio de clientes 'drive-thru' diário
* @param clientesMedioDrive o número médio de clientes 'drive-thru' diário
*/
public void setClientesMedioDrive(float clientesMedioDrive) {
this.clientesMedioDrive = clientesMedioDrive;
}
/**
* Métodos de acesso externo ao valor médio de faturação por cliente de 'drive-thru' (diário)
* @return o valor médio de faturação por cliente de 'drive-thru' (diário)
*/
public float getFaturacaoMediaClienteDrive() {
return faturacaoMediaClienteDrive;
}
/**
* Método para definir o valor médio de faturação por cliente de 'drive-thru' (diário)
* @param faturacaoMediaClienteDrive o valor médio de faturação por cliente de 'drive-thru' (diário)
*/
public void setFaturacaoMediaClienteDrive(float faturacaoMediaClienteDrive) {
this.faturacaoMediaClienteDrive = faturacaoMediaClienteDrive;
}
/**
* Método para apresentar todos os atributos de um determinado objeto
* @return Uma ‘string’ que contém todos os atributos de um determinado objeto
*/
@Override
public String toString(){
String s=
"Tipo :\t"+"Fastfood"+
"\nNome :\t"+this.getNome()+
"\nDistrito :\t"+this.getDistrito()+
"\nDespesa Anual :\t"+calcularDespesaAnual()+
"\nReceita Anual :\t"+calcularReceitaAnual()+
"\nLucro :\t";
float lucro= this.calcularLucro();
if (lucro>0){
s+="Sim";
}
else{
s+="Não";
}
return s;
}
}