oiii gente, tenho um programinha que tem as classes Triangulo, Quadrado e Circulo, ele calcula a area, perímetro, raio etc de figuras geométricas, eu gostaria de criar uma super classe chamada Figura e usar herança, para aproveitar os atributos e métodos em comum das subclasses e diminuir o código, mas não sei como o fazer, se puderem ir me ajudando a montar ela eu ficaria agradecida =)
public class Quadrado extends Figura{
private double lado;
public Quadrado(double lado){
this.setLado(lado);
}
public double calculaArea(){
return this.getLado() * this.getLado();
}
public double calculaPerimetro(){
return 4 * this.getLado();
}
public double getLado(){
return lado;
}
public void setLado(double lado){
this.lado = lado;
}
}
public class Triangulo extends Figura{
private double lado1;
private double lado2;
private double base;
private double altura;
public Triangulo(double base, double altura, double lado1, double lado2){
this.setLado1(lado1);
this.setBase(base);
this.setLado2(lado2);
this.setAltura(altura);
}
public double calculaArea(){
return (this.getBase() * this.getAltura())/2;
}
public double calculaPerimetro(){
return this.getLado1() + this.getLado2() + this.getBase();
}
public double getLado2(){
return lado2;
}
public void setLado2(double lado2){
this.lado2 = lado2;
}
public double getBase(){
return base;
}
public void setBase(double base){
this.base = base;
}
double getAltura() {
return altura;
}
public void setAltura(double altura){
this.altura = altura;
}
public double getLado1(){
return lado1;
}
public void setLado1(double lado){
this.lado1 = lado;
}
}
public class Circulo extends Figura{
private double raio;
public Circulo(double raio){
this.setRaio(raio);
}
public double calculaArea(){
return Math.PI * (this.getRaio() * this.getRaio());
}
public double calculaPerimetro(){
return 2 * Math.PI * this.getRaio();
}
public double getRaio(){
return raio;
}
public void setRaio(double raio){
this.raio = raio;
}
}
import javax.swing.JOptionPane;
public class Executor {
public static void main(String[] args) {
// cria duas instâncias da classe Quadrado
Quadrado q1 = new Quadrado(5);
Quadrado q2 = new Quadrado(8);
//cria duas instancias da classe Triangulo
Triangulo t1 = new Triangulo(5,7,3,3);
Triangulo t2 = new Triangulo(8,6,4,4);
// cria duas instâncias da classe Circulo
Circulo c1 = new Circulo(5);
Circulo c2 = new Circulo(8);
// realiza os calculos de perimetro e área para os objetos do tipo Quadrado e atribui a uma String
String quadrado1 = "A área do quadrado q1 é: "+q1.calculaArea()+"\n" + "E o perimetro é: "+q1.calculaPerimetro();
String quadrado2 = "A área do quadrado q2 é: "+q2.calculaArea()+"\n" + "E o perimetro é: "+q2.calculaPerimetro();
// Mostra o perimetro e a área do objeto q1.
JOptionPane.showMessageDialog(null, quadrado1,"O perimetro e a área do objeto q1",JOptionPane.INFORMATION_MESSAGE);
// Mostra o perimetro e a área do objeto q2.
JOptionPane.showMessageDialog(null, quadrado2,"O perimetro e a área do objeto q2",JOptionPane.INFORMATION_MESSAGE);
//realiza os calculos de perimetro e área para os objetos do tipo Triangulo e atribui a uma String
String triangulo1 = "A área do triangulo t1 é: "+t1.calculaArea()+"\n" + "E o perimetro é: "+t1.calculaPerimetro();
String triangulo2 = "A área do triangulo t2 é: "+t2.calculaArea()+"\n" + "E o perimetro é: "+t2.calculaPerimetro();
// Mostra o perimetro e a área do objeto t1.
JOptionPane.showMessageDialog(null, triangulo1,"O perimetro e a área do objeto t1",JOptionPane.INFORMATION_MESSAGE);
// Mostra o perimetro e a área do objeto t2.
JOptionPane.showMessageDialog(null, triangulo2,"O perimetro e a área do objeto t2",JOptionPane.INFORMATION_MESSAGE);
//realiza os calculos de perimetro e área para os objetos do tipo Circulo e atribui a uma String
String circulo1 = "A área do circulo c1 é: "+c1.calculaArea()+"\n" + "E o perimetro é: "+c1.calculaPerimetro();
String circulo2 = "A área do circulo c2 é: "+c2.calculaArea()+"\n" + "E o perimetro é: "+c2.calculaPerimetro();
// Mostra o perimetro e a área do objeto c1.
JOptionPane.showMessageDialog(null, circulo1,"O perimetro e a área do objeto c1",JOptionPane.INFORMATION_MESSAGE);
// Mostra o perimetro e a área do objeto c2.
JOptionPane.showMessageDialog(null, circulo2,"O perimetro e a área do objeto c2",JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
public class Figura {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
Obrigadaaa!