Estoy usando el patron BASEDAO para el acceso a datos obviamente.
Tengo:
La clase BaseDAO
Código Java:
Ver originalpublic abstract class BaseDAO {
/**
* Atributos comunes que podemos utilizar
*/
/**
* Métodos abstractos para realizar CRUD sobre entidades
*/
public abstract void guardar(Entidad entidad);
public abstract void modificar(Entidad entidad);
public abstract void eliminar(Entidad entidad);
public abstract List<Entidad> buscar();
}
Alumno hereda de persona(copio solo el constructor):
Código Java:
Ver originalpublic class Alumno extends Persona
super(NombreP, ApellidoP, tipoDocP,fechaNacP, numDocP);
this.nroLegajo = nroLegajo;
this.fechaIngreso = fechaIngreso;
this.tipoAlumno = tipoAlumno;
}
Persona hereda de entidad
Código Java:
Ver originalpublic class Persona extends Entidad
this.Nombre=NombreP;
this.Apellido=ApellidoP;
this.tipoDoc=tipoDocP;
if (fechaNacP.before(fechaValida())){
this.fechaNac = fechaNacP;
}else{
System.
out.
println("usted es menor de edad"); this.fechaNac = fechaNacP;
}
this.numDoc=numDocP;
}
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 //evito inyeccion sql
int ano
= Integer.
parseInt(Efechanac.
getText().
substring(6,
10)); int mes
= Integer.
parseInt(Efechanac.
getText().
substring(3,
5))- 1; int dia
= Integer.
parseInt(Efechanac.
getText().
substring(0,
2)); int anoI
= Integer.
parseInt(Efechaing.
getText().
substring(6,
10)); int mesI
= Integer.
parseInt(Efechaing.
getText().
substring(3,
5))- 1; int diaI
= Integer.
parseInt(Efechaing.
getText().
substring(0,
2));
long nroDoc
= Long.
parseLong(EnroDoc.
getText()); long nroLeg
=Long.
parseLong(EnroLegajo.
getText()); Alumno A1= new Alumno(nom,Ape,td,fechaNac,nroDoc,nroLeg,fechaIng,eta.charAt(0));
personaDAO nuevoAlumno= new personaDAO();
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.