Metodo

Solo disponible en BuenasTareas
  • Páginas : 9 (2171 palabras )
  • Descarga(s) : 0
  • Publicado : 23 de enero de 2011
Leer documento completo
Vista previa del texto
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 undescriptor de acceso a una propiedad de instancia.
Es incorrecto utilizar la palabra clave base desde dentro de un método estático.
Ejemplo
[pic]
En este ejemplo, tanto la clase base, Person, como la clase derivada, Employee, poseen un método denominado Getinfo. Mediante la palabra clave base, se puede realizar una llamada al método Getinfo de la clase base desde la clase derivada.

//keywords_base.cs
// Accessing base class members
using System;
public class Person
{
protected string ssn = "444-55-6666";
protected string name = "John L. Malgraine";

public virtual void GetInfo()
{
Console.WriteLine("Name: {0}", name);
Console.WriteLine("SSN: {0}", ssn);
}
}
class Employee : Person
{
public string id = "ABC567EFG";
publicoverride void GetInfo()
{
// Calling the base class GetInfo method:
base.GetInfo();
Console.WriteLine("Employee ID: {0}", id);
}
}

class TestClass
{
static void Main()
{
Employee E = new Employee();
E.GetInfo();
}
}
Este ejemplo muestra cómo especificar el constructor de la clase base al que se realiza la llamada cuando secrean instancias de una clase derivada.
// keywords_base2.cs
using System;
public class BaseClass
{
int num;

public BaseClass()
{
Console.WriteLine("in BaseClass()");
}

public BaseClass(int i)
{
num = i;
Console.WriteLine("in BaseClass(int i)");
}

public int GetNum()
{
return num;
}
}

public classDerivedClass : BaseClass
{
// This constructor will call BaseClass.BaseClass()
public DerivedClass() : base()
{
}

// This constructor will call BaseClass.BaseClass(int i)
public DerivedClass(int i) : base(i)
{
}

static void Main()
{
DerivedClass md = new DerivedClass();
DerivedClass md1 = new DerivedClass(1);
}
}Resultados
[pic]
Name: John L. Malgraine
SSN: 444-55-6666
Employee ID: ABC567EFG
Para obtener más ejemplos, vea new, virtual y override.
Resultados
[pic]
in BaseClass()
in BaseClass(int i)

Polimorfismo
Concepto de polimorfismo
    El polimorfismo es otro de los pilares fundamentales de la programación orientada a objetos. Es la capacidad de almacenar objetos de un determinado tipo envariables de tipos antecesores del primero a costa, claro está, de sólo poderse acceder a través de dicha variable a los miembros comunes a ambos tipos. Sin embargo, las versiones de los métodos virtuales a las que se llamaría a través de esas variables no serían las definidas como miembros del tipo de dichas variables, sino las definidas en el verdadero tipo de los objetos que almacenan.
    Acontinuación se muestra un ejemplo de cómo una variable de tipo Persona puede usarse para almacenar objetos de tipo Trabajador. En esos casos el campo Sueldo del objeto referenciado por la variable no será accesible, y la versión del método Cumpleaños() a la que se podría llamar a través de la variable de tipo Persona sería la definida en la clase Trabajador, y no la definida en Persona:
||
|using System; |
|class Persona |...
tracking img