la practica es la siguiente:
Crear una clase llamada Punto ( en el paquete Geo) la cual tendrá como atributos las coordenadas de un punto X y Y, estos atributos serán privados, así mismo se definirá un constructor que recibirá como argumentos las coordenadas del punto.
A partir de la clase Punto se derivaran las siguientes clases:
Clase Círculo (en el paquete Geo) tendrá como atributo el radio del círculo, el correspondiente constructor y un método llamado mostrar que mostrara los valores de los atributos del círculo.
Clase Rectángulo (en el paquete Geo) tendrá como atributos el largo y el ancho del rectángulo, el correspondiente constructor y un método mostrar que mostrara todos los atributos del rectángulo.
Crear la clase Principal con el método main( ) en le cual se definirá un arreglo del tipo Punto de 4 elementos, cada posición del arreglo referenciara en forma alterna un circulo y un rectángulo. Los valores del los argumentos se suministraran directamente en el programa. Posteriormente se mostraran dichos valores.
Puntos clave:
*no se puede incluir el " mostrar()" en punto, sin contenido alguno...yo lo hice y me ha dicho "eso arregla el problema, pero no es la solucion..."
al final, para mostrar el arreglo del main, este habia dicho en clase que se utilizaria un for como este:
Código
for (i = 0; i <x.length; i++) { x[i].mostrar( );
mas nunca dijo como se haría si la clase base no tenia el "mostrar()"... al final dijo que necesitaba, asignarle variables de referencia para poderlo imprimir? ayuda con esto...creo que no me da la idea...
esto es lo que hice en la practica...
Código
import Geo.*; public class principal { /** * Method main * * * @param args * */ int i; Punto f[]=new Punto [4]; f[0]=new Circulo (3,4,4.3); f[1]=new Rectangulo (7,5,2,8); f[2]=new Circulo (10,3,7.8); f[3]=new Rectangulo (8,9,4,5); } } package Geo; public class Punto { protected int x,y; public Punto (int x1, int y1){ x=x1; y=y1; } public int leerx (){ return x; } public int leery (){ return y; } } package Geo; public class Circulo extends Punto{ private double radio; public Circulo (int x1, int y1, double r){ super(x1,y1); radio=r; } public void mostrar(){ } } package Geo; public class Rectangulo extends Punto{ private double ancho,largo; public Rectangulo (int x1,int y1,double a, double l){ super(x1,y1); largo=l; ancho=a; } public void mostrar(){ } }
So, mi pregunta es, como utilizaria un metodo pasandole una variable como atributo para que este me imprima lo que esta dentro del arreglo?
Les agradeceria la ayuda...