Me la enviaron y la realizé, solo que no se si esta como debe ser y alli si necesito ayuda...
La practica es la siguiente:
• Definir una clase abstracta llamada Círculo con un atributo privado llamado radio, definir el constructor y los métodos abstractos mostrar y volumen el cual retornara un tipo double.
• Definir una clase llamada Cilindro con un atributo privado llamado altura (double) y los métodos correspondientes.
• Definir una clase llamada Esfera y los métodos correspondientes.
• Tanto la clase Cilindro como la clase Esfera deben controlar la cantidad de objetos creados en cada una de esas clases.
Fuera del paquete Practica crear la clase principal con el método main( ), en el cual definirá variables del tipo Circulo que referenciarán objetos del tipo Cilindro y Esfera
Una vez creados los objetos mostrar la cantidad de objetos de cada tipo creado y sus atributos, posteriormente eliminar un objeto del tipo que sea y seguido mostrar la cantidad de objetos de ese tipo que quedan.
Lo que hice fue:
Código
import practica.*; public class principal { /** * Method main * * * @param args * */ int x; Circulo c[]= new Circulo [10]; c[0]=new Cilindro (3.4,3); c[1]=new Esfera (7.36); c[2]=new Cilindro (5.25,3); c[3]=new Esfera (6); c[4]=new Cilindro (4,5); c[5]=new Esfera (2.5); c[6]=new Cilindro (2,10); c[7]=new Esfera (27); c[8]=new Cilindro (10,2); c[9]=new Esfera (4); for (x=0;x<c.length;x++){ c[x].mostrar(); } c[3]=null; } }
Código
package practica; public abstract class Circulo { private double radio; public Circulo (double r){ radio=r; } public abstract void mostrar(); public abstract double volumen (); public double mradio (){ return radio; } }
Código
package practica; public class Cilindro extends Circulo { private double altura; private static int cil=0; public Cilindro (double r, double h){ super (r); altura=h; cil++; } public void mostrar (){ } public double volumen(){ double vc; return vc; } public static int cilt (){ return cil; } }
Código
package practica; public class Esfera extends Circulo{ private static int cesf=0; public Esfera (double r){ super(r); cesf++; } public void mostrar(){ } public double volumen (){ double ve; return ve; } public static int cesft(){ return cesf; } protected void finalize (){
Si alguien pudiera decirme que tengo malo, y ayudarme a arreglarlo, seria genial