Segue a resolução dos exercícios propostos:
Classe Animal:
public class Animal {
private String nome;
public Animal(String nome) {
this.nome = nome;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public String toString() {
return "Animal{" +
"nome='" + nome + '\'' +
'}';
}
}
Classe Cachorro:
public class Cachorro extends Animal{
private boolean babao;
public Cachorro(String nome, Boolean babao){
super(nome);
this.babao = babao;
}
public boolean isBabao() {
return babao;
}
public void setBabao(boolean babao) {
this.babao = babao;
}
@Override
public String toString() {
return "Cachorro{nome: " + this.getNome() + ", babao: " + this.babao + '}';
}
}
Interface Forma:
public interface Forma {
public double calcularArea();
}
Classe Circulo:
public class Circulo implements Forma {
private double raio;
public double getRaio() {
return raio;
}
public void setRaio(double raio) {
this.raio = raio;
}
public Circulo(double raio) {
this.raio = raio;
}
@Override
public double calcularArea() {
return Math.PI * Math.pow(raio, 2);
}
}
Classe Quadrado:
import java.io.Serializable;
public class Quadrado implements Forma {
private double aresta;
public Quadrado(double aresta) {
this.aresta = aresta;
}
public double getAresta() {
return aresta;
}
public void setAresta(double aresta) {
this.aresta = aresta;
}
@Override
public double calcularArea() {
return this.aresta * this.aresta;
}
}