Ver Mensaje Individual
  #9 (permalink)  
Antiguo 05/10/2009, 15:21
Avatar de Fuzzylog
Fuzzylog
 
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 6 meses
Puntos: 188
Respuesta: Visibilidad de clases abstractas en packages

El "no me habeis entendido" se puede deber a muchos motivos, entre ellos, por qué no, a que me haya explicado mal.

De hecho, acabo de revisar el código, y he encontrado algunas erratas, derivadas de escribir de memoria, con mi "memoria de pez".

La forma de crear un empleado sería:

Jardinero emp1 = new Jardinero(arg1, arg2);
o
Comercial emp2 = new Comercial(arg1, arg2);

Queda claro que estas clases no son abstractas, sino que derivan de una clase abstracta, que es Empleado, y que como todo el mundo dice, no se puede instanciar.

luego tengo ...

p.añadirEmpleado(emp1);
y
p.añadirEmpleado(emp2);

donde añadirEmpleado es un método de la clase plantilla, que he instanciado como "p", y que es la que genera el Array de Elementos Empleado del que hablaba.

El problema es que si solo tengo la clase del main en el proyecto, y el resto de clases las tengo en un package y las importo desde la clase del main, el eclipse no me deja ver más allá de la instancia de plantilla, es decir, que no puedo preguntarle a la aplicación si el elemento p.empleados[0] (donde p es la instancia de plantilla y empleados[0] es primer elemento del array de Elementos Empleado) es un comercial o un jardinero, por ejemplo (para cada tipo implementé un método que devolvía un boolean según fuese de una u otra clase). El hecho es que con esta construcción del proyecto, "empleados[]" no es visible.

Sin embargo, si saco esas clases del package y las pongo en el mismo path que la clase del main(), entonces sí que puedo ver "empleados[]" y acceder a cada uno de sus elementos, y a los métodos de los mismos.

raullapeira, lo siento si mis frases te resultaron demasiado crípticas e indocumentadas, y por ello te has herniado en tu intento de ver por encima mi tema, lo siento de verdad, no era mi intención. Simplemente soy así.

Si ahora has podido entrever algo sin que tenga que ponerte todo mi código, será bienvenida tu inmensa sapiencia ;).