Concepto de POO

Páginas: 6 (1439 palabras) Publicado: 22 de julio de 2015
Concepto de herencia 
El concepto de herencia tiende a confundir a muchos programadores ya que pretenden entenderlo desde el punto de vista del significado de la misma palabra, cuando la herencia en programación se refiere a la "clasificación"; es una relación entre clases, además es importante tener claro que la herencia es una relación de clases más que una relación de objetos. 

Un ejemplodel concepto de herencia es por ejemplo que un empleado es una persona. Entonces podemos hacer un modelo de ello en .NET creando dos clases, una llamada Empleado y otra llamada Persona, y declarar que Empleado hereda de Persona. La herencia nos dice que hay una relación y establece el hecho de que todos los empleados son personas. 
class ClaseDerivada : ClaseBase
{...
}

Clases base y clases derivadas 
La sintaxis para declarar que una clase hereda de otra es: 

La clase System.Object es la clase raíz para todas las clases, eso quiere decir que cuando declaramos una clase que no deriva explícitamente de otra, entonces el compilador define como clase base aSystem.Object. 

Una clase puede tener como mucho una sola clase base. La clase derivada puedeentonces llamar desde su constructor al constructor de su clase base. 
class Empleado : Persona
{
public Empleado(string nombre) : base(nombre) // base(nombre) llama a Persona(nombre)
{
...
}
...
}

El método new (palabra clave new) 
Aunque lo recomendable sería no tener métodos con la misma signatura (elnombre del método y número y tipo de sus parámetros) entre una clase derivada y su clase base, se puede lograr evitar el aviso del compilador que indica que hay ocultación de métodos utilizando la palabra clave new. Se debe considerar que los métodos aunque tengan el mismo nombre no guardan ninguna relación entre si, aun usando new. 

Por ejemplo si tenemos un método con el mismo nombre ennuestra clase base Persona y la clase derivada Empleado llamado Nombre, entonces para evitar el ocultamiento del método deberá usarse la palabra clave new como sigue:
class Persona
{
...
public string Nombre() {...}
}

class Empleado : Persona
{
...
new public string Nombre() {...}
}


Como hemosmencionado anteriormente el uso de new no evita el ocultamiento, únicamente evita el aviso del compilador. Siguiendo el ejemplo anterior cualquier llamada al método Nombre() aun desde una instancia de la clase Empleado se ejecutará el código del método Nombre() de la clase Persona ya que los dos métodos no guardan ninguna relación y se ocultan efectivamente uno del otro. 

Métodos virtuales (palabraclave virtual) 
Siguiendo con el ejemplo que venimos manejando digamos que realmente lo que queremos es implementar el mismo método más de una vez. Para ello recurrimos al poliformismo que significa literalmente "muchas formas", logrando conectar los métodos Nombre() de las clases base y derivada y declarar que son dos implementaciones del mismo método. Hay que usar explícitamente la palabraclave virtual para activar el poliformismo para un método dado. Así:
class Persona
{
...
public virtual string Nombre() {...}
}


De esa manera se indica que es la primera implementación del método Nombre(). En C# un métodos no es virtual por defecto. 

Métodos de reemplazo (palabra clave override) 
Luego que hemos declarado un método como virtual en laclase base, entonces podemos usar la palabra clave override en la clase derivada para declarar otra implementación de ese método.
class Empleado : Persona
{
...
public override string Nombre() {...}
}


Utilizando esta combinación de declaraciones (virtual y override) logramos entonces que el compilador llame a la implementación "más derivada"...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • concepto de POO
  • Concepto de poo
  • Conceptos Fundamentales De Poo
  • Investigacion sobre conceptos POO
  • Conceptos básicos poo
  • Conceptos Basicos De La Poo
  • conceptos basicos de POO
  • Conceptos Básicos POO

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS