Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: hefesto en 14 de Mayo 2020, 23:08
-
Hola, tengo el siguiente problema, en código JAVA
Son tres paquetes:
1) paqueteA (contiene una superclase abstracta con tres subclases, gerentes, operativos, temporales)
2) paqueteB (clase consultar empleados; esta clase importa el paquete A y todos sus clases, también contiene el método main, ejecuta el método setDatos para definir el texto a mostrar. Resultado en pantalla tendría que ser:
El grupo de empleados es: Gerentes
El grupo de empleados es: Operativos
El grupo de empleados es: Temporales
3) paqueteC (contiene un archivo interfaz y una clase conexionMySQL) el archivo interfaz contiene métodos i. establecer conexión ii. Insertar, iii. Cerrar conexión tipo boolean
La clase conexionMySQL implementa la interfaz donde; “establecer conexión” imprime mensaje conexión establecida, “insertar” imprime mensaje “inserta registro MySQL” , en “cerrar conexión” contiene manejo excepciones, se valida parámetro statusConexion, si es true indica “conexión finalizada” si es false muestra excepción “error cerrar conexión”
Gracias por su ayuda
Hefesto
-
Disculpa, pero no me queda claro cuál es el problema que te ha surgido.
Si pudieras concretarlo, a ver si podemos echarte una mano.
Un saludo.
-
El problema es que ya están formados los paquetes en el primero (paquete1) donde están las clases abstractas padre e hijas, en el segundo (paquete2) en el que elaboro la clase Main, pero cuando intento importar el paquete 1 desde paquete 2 no logro hacerlo.
Intente importar clase por clase, y el paquete completo pero me marca error.
PAQUETE 1 incluye clase abstracta padre (Empleados) y clase hija (Gerentes)
package abstacto.empleados;
public abstract class Empleados {
String grupoEmpleados;
public Empleados(String grupoEmpleados) {
this.grupoEmpleados = grupoEmpleados;
}
public abstract void getDatosEmpleado();
public void setDatos(String grupoEmpleados) {
}
}
package abstacto.empleados;
public class Gerentes extends Empleados{
public Gerentes(String Gerentes) {
super(Gerentes);
}
@Override
public void getDatosEmpleado() {
System.out.println("El grupo de empleados es: Gerentes");
}
}
PAQUETE 2. En este incluye la clase MAIN desde donde quiero correr las clases del paquete 1 mediante importación es donde tengo el problema
package consulta.empleados;
import abstacto.empleados.*;
public class consultarEmpleados {
public static void main (String[]args){
}
public void setDatos(String grupoEmpleados, String Gerentes) {
grupoEmpleados= Gerentes;
System.out.println("El grupo de empleados es: Gerentes");
}
}
-
Con ese import, ha de funcionar, lo acabo de probar y puedo crear un objeto Gerente sin problemas:
package consulta.empleados;
import abstacto.empleados.*;
public class consultarEmpleados {
public static void main (String[]args){
Gerentes ger = new Gerentes("");
}
}
¿Qué error te marca? ¿Qué dice exactamente?
Por cierto, si tiene algo que ver con este método que has puesto:
public void setDatos(String grupoEmpleados, String Gerentes) {
grupoEmpleados= Gerentes;
System.out.println("El grupo de empleados es: Gerentes");
}
Ahí no estás trabajando con esas clases. Lo de ese método son Strings
-
¡Gracias Kabuto! Me ayudaste a solventar este paso.
En realidad me di cuenta que el main (como mencionas) no estaba instanciando los objetos de las clases, por tanto generé objetos de forma similar a como muestras, pero también en las clases abstractas padre e hijas deje los constructores vacíos.
package consulta.empleados;
import abstacto.empleados.*;
public class consultarEmpleados {
public static void main (String[]args){
Gerentes gerentes = new Gerentes();
Operativos operativos = new Operativos();
Temporales temporales = new Temporales ();
gerentes.setDatos("Gerentes");
gerentes.getDatosEmpleado();
Y en la clase gerentes asi quedo:
package abstacto.empleados;
public class Gerentes extends Empleados{
public Gerentes (){}
@Override
public void getDatosEmpleado() {
System.out.println("El grupo de empleados es: " + grupoEmpleados);
}
}
En cuanto a la clase abstracta padre:
package abstacto.empleados;
public abstract class Empleados {
protected String grupoEmpleados;
public Empleados() {
}
public abstract void getDatosEmpleado();
public void setDatos(String grupoEmpleados) {
this.grupoEmpleados=grupoEmpleados;
}
}
Por tanto, lo del import, no tuve inconveniente.
Gracias de nueva cuenta, muy amable por tu aporte.
Saludos