- Classe Carro e ModeloCarro
package OrientacaoObjetos.DesafiosHeranca;
public class Carro {
private String modelo;
private Double preco;
//getters e setters...
}
}
package OrientacaoObjetos.DesafiosHeranca;
public class ModeloCarro extends Carro{
ModeloCarro(String modelo){
super(modelo);
}
public void calcularValores(Double valorAno1, Double valorAno2, Double valorAno3) {
Double valorMedio = (valorAno1 + valorAno2 + valorAno3) / 3;
System.out.println("Valores do "+ getModelo() +" nos 3 anos: ");
System.out.println("1º ano: R$" + valorAno1);
System.out.println("2º ano: R$" + valorAno2);
System.out.println("3º ano: R$" + valorAno3);
if (valorAno1.equals(valorAno2) && valorAno2.equals(valorAno3)) {
System.out.println("Maior valor: R$" + valorAno1 + " - 1º ano");
System.out.println("Menor valor: R$" + valorAno1 + " - 1º ano");
}
else if(valorAno1.compareTo(valorAno2)>0 && valorAno2.compareTo(valorAno3)>0) {
System.out.println("Maior valor: R$" + valorAno1 + " - 1º ano");
if (valorAno2.compareTo(valorAno3) > 0) {
System.out.println("Menor valor: R$" + valorAno3 + " - 3º ano");
} else {
System.out.println("Menor valor: R$" + valorAno2 + " - 2º ano");
}
}
else if (valorAno2.compareTo(valorAno3) > 0 && valorAno2.compareTo(valorAno1) > 0) {
System.out.println("Maior valor: R$" + valorAno2 + " - 2º ano");
if (valorAno1.compareTo(valorAno3) > 0) {
System.out.println("Menor valor: R$" + valorAno3 + " - 3º ano");
}
else{
System.out.println("Menor valor: R$" + valorAno1 + " - 1º ano");;
}
}
else if (valorAno3.compareTo(valorAno2) > 0 && valorAno3.compareTo(valorAno1) > 0) {
System.out.println("\nMaior valor: R$" + valorAno3 + " - 3º ano");
if (valorAno1.compareTo(valorAno2) > 0) {
System.out.println("Menor valor: R$" + valorAno2 + " - 2º ano");
}
else{
System.out.println("Menor valor: R$" + valorAno1 + " - 1º ano");
}
}
System.out.println("Valor médio dos preços nos 3 anos: R$" + valorMedio);
}
}
package OrientacaoObjetos.DesafiosHeranca;
import OrientacaoObjetos.DesafiosHeranca.ModeloCarro;
//main
ModeloCarro modelo1 = new ModeloCarro("Gol");
modelo1.calcularValores(20000.0, 135000.0, 10000.0);
ModeloCarro modelo2 = new ModeloCarro("Nivus");
modelo2.calcularValores(60000.0, 75000.0, 68000.0);
}
}
2.Classe Animal, Gato e Cachorro
public class Animal {
public void emitirSom(){
System.out.println("Som do animal");
}
}
public class Cachorro extends Animal{
@Override
public void emitirSom(){
System.out.println("AU AU AU");
}
public void abanarRabo(){
System.out.println("Cachorro feliz");
System.out.println("Abanando o rabo");
}
}
public class Gato extends Animal{
@Override
public void emitirSom(){
System.out.println("Miau");
}
public void arranharMoveis(){
System.out.println("Arranhando moveis");
}
}
//main
Cachorro c1 = new Cachorro();
Gato g1 = new Gato();
c1.abanarRabo();
c1.emitirSom();
g1.emitirSom();
- Classe ContaBancaria eContaCorrente
package OrientacaoObjetos.DesafiosHeranca;
public class ContaBancaria {
private Double saldo = 0.0;
//get saldo...
public void depositar(Double valor){
saldo += valor;
System.out.println("Depósito de R$" + valor);
}
public void sacar(Double valor){
if (saldo>=valor){
saldo -= valor;
System.out.println("Saque de R$" + valor);
}
else{
System.out.println("Saldo insuficiente");
}
}
public void consultarSaldo(){
System.out.println("Saldo: R$" + saldo);
}
}
package OrientacaoObjetos.DesafiosHeranca;
public class ContaCorrente extends ContaBancaria{
Double tarifa = 20.0;
//get tarifa
public void cobrarTarifaMensal(){
if(getSaldo()>=tarifa){
System.out.println("Tarifa mensal de R$" + tarifa);
sacar(tarifa);
System.out.println("Tarifa cobrada com sucesso.");
}
else{
System.out.println("Saldo insuficiente para pagar tarifa mensal.");
}
}
}
//main
ContaCorrente c2 = new ContaCorrente();
c2.depositar(3000.0);
c2.consultarSaldo();
c2.cobrarTarifaMensal();
c2.consultarSaldo();