Anda di halaman 1dari 9

UNIVERSIDADE VIRTUAL DO ESTADO DE SO PAULO

Plo Ja

Portflio:

Semana 3

Disciplina: Programao Orientada a Objetos

Prof. Dra. Karina Valdivia Delgado

Silvio Ferreira Coutinho RA: 1402498

2017
Exerccio 1

public interface EmissorCarbono {

public abstract double getCarbonoEmitido();


}

public class Bicicleta implements EmissorCarbono{


private double pedais;
private double marchas;
private double guidao;

public Bicicleta(double pedais, double marchas, double guidao)


{
this.pedais = pedais;
this.marchas = marchas;
this.guidao = guidao;

@Override
public String toString() {
return String.format("A bicicleta possui %.2f pedais, possui
%.2f marchas e %.2f guido e sua emisso de carbono de %.2f Kg de CO2",
this.getPedais(), this.getMarchas(),
this.getGuidao(), this.getCarbonoEmitido());
}

/**
* @return the pedais
*/
public double getPedais() {
return pedais;
}

/**
* @return the marchas
*/
public double getMarchas() {
return marchas;
}

/**
* @return the guidao
*/
public double getGuidao() {
return guidao;
}

/**
* @return the carbonoEmitido
*/
@Override
public double getCarbonoEmitido() {
//Bicicleta nao geram emissao de carbono
return 0;
}

/**
* @param pedais the pedais to set
*/
public void setPedais(double pedais) {
this.pedais = pedais;
}

/**
* @param marchas the marchas to set
*/
public void setMarchas(double marchas) {
this.marchas = marchas;
}

/**
* @param guidao the guidao to set
*/
public void setGuidao(double guidao) {
this.guidao = guidao;
}

public class Carro implements EmissorCarbono {


private double potencia;
private int numPessoas;

public Carro(double potencia, int numPessoas) {

this.potencia = potencia;
this.setNumPessoas(numPessoas);

}
@Override
public String toString() {
return String.format("O carro de potencia %.2f com %d
pessoa(s), possui a emisso de carbono de %.2f Kg de CO2",
this.getPotencia(), this.getNumPessoas(),
this.getCarbonoEmitido());
}

@Override
public double getCarbonoEmitido() {
double fator = 0.0;

if (this.potencia >= 1.0 || this.potencia <=1.4)


fator = .37;

if (this.potencia >= 1.5 || this.potencia <=2.0)


fator = .38;

return (fator / this.numPessoas);


}

/**
* @return the potencia
*/
public double getPotencia() {
return potencia;
}

/**
* @param potencia the potencia to set
*/
public void setPotencia(double potencia) {
this.potencia = potencia;
}

public int getNumPessoas() {


return numPessoas;
}

public void setNumPessoas(int numPessoas) {


this.numPessoas = numPessoas;
}

}
public class Casa implements EmissorCarbono {
private double valorMercado;
private double valorVenal;
private double tamanho;
private double valorConsumoEnergia;
private double valorConsumoGas;

public Casa(double valorMercado, double valorVenal, double tamanho,


double valorConsumoEnergia, double valorConsumoGas){
this.valorMercado = valorMercado;
this.valorVenal = valorVenal;
this.tamanho = tamanho;
this.valorConsumoEnergia = valorConsumoEnergia;
this.valorConsumoGas = valorConsumoGas;

/**
* @return the valorMercado
*/
public double getValorMercado() {
return valorMercado;
}

/**
* @return the valorVenal
*/
public double getValorVenal() {
return valorVenal;
}

/**
* @param valorMercado the valorMercado to set
*/
public void setValorMercado(double valorMercado) {
this.valorMercado = valorMercado;
}

/**
* @param valorVenal the valorVenal to set
*/
public void setValorVenal(double valorVenal) {
this.valorVenal = valorVenal;
}

public double calculaComissaoVenda(){


return this.getValorMercado() * .06;
}

public double getTamanho() {


return tamanho;
}

public void setTamanho(double tamanho) {


this.tamanho = tamanho;
}

@Override
public double getCarbonoEmitido() {
double fatorEnergiaEletrica = 4.69 *
this.getValorConsumoEnergia();
double fatorGas = 6.26 * this.getValorConsumoGas();
return (fatorEnergiaEletrica+fatorGas);
}

@Override
public String toString(){
return String.format("A Casa possui %.2f metros, seu valor de
venda %.2f, com consumo de energia de %.2f e gas de %.2f e sua emisso
de carbono de %.2f Kg de CO2", this.getTamanho(),
this.getValorMercado(),
this.getValorConsumoEnergia(), this.valorConsumoGas,
this.getCarbonoEmitido());
}

public double getValorConsumoEnergia() {


return valorConsumoEnergia;
}

public void setValorConsumoEnergia(double valorConsumoEnergia) {


this.valorConsumoEnergia = valorConsumoEnergia;
}

public double getValorConsumoGas() {


return valorConsumoGas;
}

public void setValorConsumoGas(double valorConsumoGas) {


this.valorConsumoGas = valorConsumoGas;
}

}
Exerccio 2

public class TesteCarbono {

public static void main(String[] args) {

EmissorCarbono b = new Bicicleta(2, 5, 1);


EmissorCarbono c1 = new Carro(1.0, 1);
EmissorCarbono c2 = new Casa(200000, 150000, 120, 110, 30);

EmissorCarbono [] v = new EmissorCarbono[3];


v[0] = b;
v[1] = c1;
v[2] = c2;

for (int i = 0; i < 3; i++) {


System.out.println(v[i]);
}

}//fim

}
Exerccio 3

a) Classes Abstratas: o propsito fornecer uma superclasse apropriada a partir do qual


outras classes podem herdar e assim compartilhar um projeto comum. Essas classes fornecem
implementaes de cada mtodo declarado por elas. Constituem nveis de hierarquia. Uma
classe abastrata declara atributos e comportamentos comuns das vrias classes em uma
hierarquia de classes. Em geral, uma classe abastrata contm um ou mais mtodos abastratos
do que as subclasses precisam sobrescrever caso no sejam concretas. As variveis de
instncia e mtodos concretos de uma classe abstrata esto sujeitas s regras normais da
herana.

b) Interfaces: utilizada quando classes no relacionadas precisam compartilhar


mtodos e constantes comuns. Isso permite que os objetos de classes no relacionadas sejam
processados polimorficamente, objetos de classes que implementam a mesma interface podem
responder s mesmas chamadas de mtodo. Os programadores podem criar uma interface que
descreve a funcionalidade desejada e ento implementar essa interface em quaisquer classes
que requerem essa funcionalidade.
REFERNCIAS BIBLIOGRFICAS

DEITEL, P.; DEITEL, H. Java - Como Programar. So Paulo: Pearson Prentice-


Hall, 10 Edio, 2017.

Anda mungkin juga menyukai