Hola lista, antes de nada saludar y dar las gracias :)
Os planteo mi duda, es con temas de herencia de clases en c#.
Mi sistema de clases, interpretara un "ES UN" del modelo E/R. Tengo una
clase "Persona" y una clase "Alumno" ( una persona es un alumno, es un
cliente, es un profesor... )
[Informacion adicional]
Estas clases "mapean" tablas de la base de datos y tendrán funciones de
cargar, actualizar, insertar, eliminar... de modo que podre usar
tranquilamente
Alumno a = new Alumno( 1 ); //me cargara el alumno con codigo 1 y me
rellenaria el objeto a con esos datos
a.Nombre = "Otro Nombre";
a.Update() -> me actualiza los datos en la base de datos
a.LimpiarObjeto() -> resetea el objeto
[/Informacion adicional]
class Persona{
//miembros privados
private int _codigo;
private string _nombre;
Persona()//Constructor por defecto
{
_codigo = -1;
_nombre = "";
}
Persona( Persona p ){} //constructor de copias
//metodos de la clase
//Este metodo "limpia -> pone los valores por defecto a los miembros
como si se acabase de crear el objeto"
public void LimpiarObjeto(){
_codigo = -1;
_nombre = "";
}
}
//ahora tengo mi clase alumno que hereda de persona
class Alumno : Persona {
private int _nota;
Alumno() : base() /* Esto llama al constructor de la clase padre y
inicializa los valores de la clase padre a valores por defecto*/
{
_nota = -1;
}
}
[Planteamiento de las dudas]
Aqui van mis dudas:
1.- Deseo crear en la clase Hija ( Alumno ) una funcion que se llame
igual que la de la clase padre -> LimpiarObjeto() que lo que hara sera
lo mismo que la del padre pero con los datos del objeto alumno. El caso
esque cuando la creo me dice que ya existe, y yo quiero ponerle EL MISMO
NOMBRE.
2.- Me gustaria saber si puedo hacer la funcion como hago el constructor
de la clase hija , usando base, para no tener que incluir en el codigo
de la funcion de alumno lo siguiente
public void LimpiarObjeto(){
base.LimpiarObjeto()
}
Me gustaria algo parecido a esto
public void LimpiarObjeto() : base() {} para evitarme poner eso de
base.LimpiarObjeto()
[/Planteamiento de las dudas]
Muchas gracias de antemano.
Leer las respuestas