La palabra clave base se utiliza para obtener acceso a los miembros de la clase base desde una clase derivada:
Realice una llamada a un método de la clase base reemplazado por otro método.
Especifique a qué constructor de la clase base se debe llamar para crear instancias de la clase derivada.
El acceso a una clase base sólo se permite en un constructor, en un método de instancia o en un descriptor de acceso a una propiedad de instancia.
Es incorrecto utilizar la palabra clave base desde dentro de un método estático.
Ejemplo:
En este ejemplo, tanto la clase base, Persona, como la clase derivada, Empleado, poseen un método denominado VerInformacion. Mediante la palabra clave base, se puede realizar una llamada al método VerInformacion de la clase base desde la clase derivada.
// Accediendo a miembos de una clase base using System; public class Persona { protected string cedula = "001-12345-9"; protected string nombre = "Jonathan Nunez"; public virtual void VerInformacion() { Console.WriteLine("Nombre: {0}", nombre); Console.WriteLine("Cedula: {0}", cedula); } } class Empleado : Persona { public string id = "JN123456"; public override void VerInformacion() { // Llamando el metodo VerInformacion desde la clase base: base.VerInformacion(); Console.WriteLine("Empeado ID: {0}", id); } } class ClassPrueba { static void Main() { Empleado E = new Empleado(); E.VerInformacion(); } }
Este ejemplo muestra cómo especificar el constructor de la clase base al que se realiza la llamada cuando se crean instancias de una clase derivada.
using System; public class ClaseBase { int num; public ClaseBase() { Console.WriteLine("Dentro de la Clase Base()"); } public ClaseBase(int i) { num = i; Console.WriteLine("Dentro de la Clase Base con parametro(int i)"); } public int VerNum() { return num; } } public class ClaseDerivada : ClaseBase { // El constructor llamara la ClaseBase.ClaseBase() public ClaseDerivada() : base() { } // Este constructor llamara la ClaseBase.ClaseBase(int i) public ClaseDerivada(int i) : base(i) { } static void Main() { ClaseDerivada cd = new ClaseDerivada(); ClaseDerivada cd1 = new ClaseDerivada(1); } }
Nombre: Jonathan Nunez Cedula: 001-12345-9 Empleado ID: JN123456
No hay comentarios.:
Publicar un comentario
Preguntas;Comentarios;Aportes;Criticas Positivas;Recomendaciones.