Subclase no me calcula area de triangulo
Publicado por fernando143 (26 intervenciones) el 04/07/2014 01:24:11
Hola, estoy estudiando las clases, subclases y herencia.
Estoy intentando (por mi cuenta) calcular el area de un cuadrado y despues crear una clase triangulo y calcular el area del mismo con los atributos y metodos de la clase cuadrado (es decir mediante herencia).
La primer clase Cuadrado, me sale bien, puedo calcular el area y mostrar por pantalla, pero cuando hago la subclase Triangulo, algo anda mal porque siempre el area de la clase Triangulo es 0.
Les muestro el código que tengo para ver si me pueden ayudar a encontrar el error:
Por ejemplo, pongo el lado del cuadrado un valor de 2, y me devuelve que el area del cuadrado es 4.
Pero el area del triangulo es 0.
No entiendo que está pasando.
Espero que me puedan ayudar.
Saludos
Estoy intentando (por mi cuenta) calcular el area de un cuadrado y despues crear una clase triangulo y calcular el area del mismo con los atributos y metodos de la clase cuadrado (es decir mediante herencia).
La primer clase Cuadrado, me sale bien, puedo calcular el area y mostrar por pantalla, pero cuando hago la subclase Triangulo, algo anda mal porque siempre el area de la clase Triangulo es 0.
Les muestro el código que tengo para ver si me pueden ayudar a encontrar el error:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import javax.swing.JOptionPane;
/**
*
* @author fernando
*/
//Inicio clase Cuadrado********************************************************
class Cuadrado
{
int lado,area;
public void cargarLado(int la)
{lado=la;
}
public int verLado()
{return lado;
}
public void calcularArea()
{area=lado*2;
}
public int verArea()
{return area;
}
}//Fin clase Cuadrado***********************************************************
//Inicio clase Triangulo subclase de Cuadrado***********************************
class Triangulo extends Cuadrado
{ int area;
public void calcularAreaTriangulo()
{area=verArea()/2;
}
public int verAreaTriangulo()
{return area;
}
}
//Fin clase Triangulo subclase de Cuadrado**************************************
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Cuadrado A= new Cuadrado();
int lado,area;
lado=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese base"));
A.cargarLado(lado);
A.calcularArea();
Triangulo At= new Triangulo();
At.calcularAreaTriangulo();
JOptionPane.showMessageDialog(null,"area de cuadrado es: "+A.verArea());
JOptionPane.showMessageDialog(null,"area de triangulo es: "+At.verAreaTriangulo());
}
}
Por ejemplo, pongo el lado del cuadrado un valor de 2, y me devuelve que el area del cuadrado es 4.
Pero el area del triangulo es 0.
No entiendo que está pasando.
Espero que me puedan ayudar.
Saludos
Valora esta pregunta


0