Compartilhando o código para receber feedback sobre o mesmo. O exercício da Conta Bancária deu mais trabalho hehe
package desafios.desafio03;
public class Animal {
protected String nome;
private String especie;
private char sexo;
private int idade;
private double peso;
private String cor;
public Animal(String nome, String especie, char sexo, int idade, double peso, String cor) {
this.nome = nome;
this.especie = especie;
this.sexo = sexo;
this.idade = idade;
this.peso = peso;
this.cor = cor;
}
public void comer() {
System.out.println("O animal " + nome + " está comendo.");
}
public void dormir() {
System.out.println("O animal " + nome + " está dormindo.");
}
public void locomover() {
System.out.println(nome + " está se locomovendo.");
}
@Override
public String toString() {
return "Animal{" +
"nome='" + nome + '\'' +
", especie='" + especie + '\'' +
", sexo=" + sexo +
", idade=" + idade +
", peso=" + peso +
", cor='" + cor + '\'' +
'}';
}
}
package desafios.desafio03;
public class Cachorro extends Animal {
private String raca;
private String porte;
private String corPelagem;
private String tipoPelagem;
private String tamanhoDaCauda;
private boolean castrado;
public Cachorro(
String nome, String especie, char sexo, int idade, double peso, String cor,
String raca, String porte, String corPelagem, String tipoPelagem, String tamanhoDaCauda, boolean castrado
) {
super(nome, especie, sexo, idade, peso, cor);
this.raca = raca;
this.porte = porte;
this.corPelagem = corPelagem;
this.tipoPelagem = tipoPelagem;
this.tamanhoDaCauda = tamanhoDaCauda;
this.castrado = castrado;
}
public void latir() {
System.out.println(super.nome + " está latindo!");
}
public void abanarRabo() {
System.out.println(super.nome + " começou a abanar o rabo.");
}
@Override
public String toString() {
return super.toString() + "{{Cachorro{" +
"raca='" + raca + '\'' +
", porte='" + porte + '\'' +
", corPelagem='" + corPelagem + '\'' +
", tipoPelagem='" + tipoPelagem + '\'' +
", tamanhoDaCauda='" + tamanhoDaCauda + '\'' +
", castrado=" + castrado +
"}}";
}
}
package desafios.desafio03;
public class Circulo extends FiguraGeometrica implements Forma {
private double pi = Math.PI;
private double raio;
public Circulo(double raio) {
super.nome = "Círculo";
this.raio = raio;
}
@Override
public double calcularArea() {
super.area = pi * Math.pow(raio, 2);
return super.area;
}
}
package desafios.desafio03;
public class ContaBancaria {
private int numeroDaConta;
private double saldo;
public ContaBancaria(int numeroDaConta, double saldo) {
this.numeroDaConta = numeroDaConta;
this.saldo = saldo;
}
public double getSaldo() {
return saldo;
}
@Override
public String toString() {
return "ContaBancaria{" +
"numeroDaConta=" + numeroDaConta +
", saldo=" + saldo +
'}';
}
}
package desafios.desafio03;
public class FiguraGeometrica {
protected String nome;
protected double area;
@Override
public String toString() {
return """
----------|Área do %s|----------
Área = %.2fcm²
--------------------------------
""".formatted(nome, area);
}
}
package desafios.desafio03;
public interface Forma {
double calcularArea();
}
package desafios.desafio03;
public class Produto {
private String nome;
private double preco;
public Produto(String nome, double preco) {
this.nome = nome;
this.preco = preco;
}
public double getPreco() {
return preco;
}
@Override
public String toString() {
return "Produto = " + nome + "|Preço = R$" + preco;
}
}
Continuando abaixo...