Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2015, 01:51
Avatar de giuli956
giuli956
 
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 12 años
Puntos: 1
Error en Clase con patron BaseDAO

Estoy usando el patron BASEDAO para el acceso a datos obviamente.

Tengo:
La clase BaseDAO
Código Java:
Ver original
  1. public abstract class BaseDAO {
  2.  
  3.         /**
  4.         * Atributos comunes que podemos utilizar
  5.         */
  6.         protected Connection conexion;
  7.         protected Statement stmt;
  8.         /**
  9.         * Métodos abstractos para realizar CRUD sobre entidades
  10.         */
  11.         public abstract void guardar(Entidad entidad);
  12.         public abstract void modificar(Entidad entidad);
  13.         public abstract void eliminar(Entidad entidad);
  14.         public abstract List<Entidad> buscar();
  15.        
  16. }

Alumno hereda de persona(copio solo el constructor):

Código Java:
Ver original
  1. public class Alumno extends Persona
  2.  
  3. public Alumno(String NombreP, String ApellidoP, String tipoDocP,Calendar fechaNacP,
  4.             long numDocP,long nroLegajo,Calendar fechaIngreso,Character tipoAlumno) {
  5.         super(NombreP, ApellidoP, tipoDocP,fechaNacP, numDocP);
  6.    
  7.         this.nroLegajo = nroLegajo;
  8.         this.fechaIngreso = fechaIngreso;
  9.         this.tipoAlumno = tipoAlumno;
  10.     }
Persona hereda de entidad

Código Java:
Ver original
  1. public class Persona extends Entidad
  2.     public Persona(String NombreP,String ApellidoP, String tipoDocP, Calendar fechaNacP
  3.             ,Long numDocP){
  4.         this.Nombre=NombreP;
  5.         this.Apellido=ApellidoP;
  6.         this.tipoDoc=tipoDocP;
  7.    
  8.        
  9.        
  10.         if (fechaNacP.before(fechaValida())){
  11.             this.fechaNac = fechaNacP;
  12.         }else{
  13.         System.out.println("usted es menor de edad");
  14.         this.fechaNac = fechaNacP;
  15.         }
  16.         this.numDoc=numDocP;
  17.        
  18.     }
Y el problema viene aqui: tengo un form con los inputs y un boton guardar.

Pero el metodo guardar que esta abajo no lo reoconoce.
Código Java:
Ver original
  1. btnGuardar.addActionListener(new ActionListener() {
  2.             public void actionPerformed(ActionEvent e) {
  3.                 //evito inyeccion sql
  4.                 String nom = new String(ENombre.getText());
  5.                 String Ape = new String(EApellido.getText());
  6.                 String td = new String(EtipoDoc.getText());
  7.                 int ano = Integer.parseInt(Efechanac.getText().substring(6,10));
  8.                 int mes = Integer.parseInt(Efechanac.getText().substring(3,5))- 1;
  9.                 int dia = Integer.parseInt(Efechanac.getText().substring(0,2));
  10.                 int anoI = Integer.parseInt(Efechaing.getText().substring(6,10));
  11.                 int mesI = Integer.parseInt(Efechaing.getText().substring(3,5))- 1;
  12.                 int diaI = Integer.parseInt(Efechaing.getText().substring(0,2));
  13.                 System.out.println(dia);
  14.                 GregorianCalendar fechaNac = new GregorianCalendar(ano, mes,dia);
  15.                 GregorianCalendar fechaIng = new GregorianCalendar(anoI,mesI,diaI);
  16.        
  17.                 long nroDoc = Long.parseLong(EnroDoc.getText());
  18.                 long nroLeg =Long.parseLong(EnroLegajo.getText());
  19.                 String eta = ETA.getText();
  20.                 Alumno A1= new Alumno(nom,Ape,td,fechaNac,nroDoc,nroLeg,fechaIng,eta.charAt(0));
  21.                 personaDAO nuevoAlumno= new personaDAO();
  22.                 nuevoAlumno.guardar(A1);
  23.             }
  24.         });

Código Java:
Ver original
  1. nuevoAlumno.guardar(A1);

Y el compilador de Eclipse dice: The method guardar(Entidad) in the type personaDAO is not applicable for the arguments (Alumno)

Desde ya les agradezco su ayuda.