Herencia en C#

Páginas: 5 (1140 palabras) Publicado: 27 de octubre de 2014
HYPERLINK "http://www.puntopeek.com/tutoriales-c/herencia-programacion-en-c/" \o "Permanent Link to Herencia en C#. Concepto y ejemplos" \t "_self" Herencia en C#. Concepto y ejemplos
Sep 12, 2009 TUTORIALES C# 9 comentariosComo todo lenguaje de programación actual, C# es un lenguaje orientado a objetos y soporta todas las características propias del paradigma de programación orientada aobjetos: encapsulación, herencia y polimorfismo.
En este post trataré de explicar de la forma más sencilla posible, lo que es la herencia en programación, y pondré algunos ejemplos al final para ver si se llevan la idea, aunque seguro se quedan con algunas dudas, ya que es un concepto fácil de entender, pero difícil de aplicar en programación… después hablaremos entonces de lo que es la encapsulacióny el polimorfismo
Por definición, la herencia no es más que la capacidad de un objeto de heredar las características de otro. Bueno, en programación, la herencia es la capacidad de una clase de heredar los métodos, las variables y las propiedades de otra (los constructores no se heredan). Esto permite ahorrar código, ya que varias funcionalidades no tendríamos que implementarlas nuevamente.
Unaclase que herede de otra, puede usar los métodos, las propiedades o las variables de la clase padre. También se puede redefinir o modificar los métodos y propiedades, usando algunas palabras reservadas para esto, creando así un nuevo comportamiento del objeto. Una condición necesaria para que una clase herede de otra, es que la clase hija (la que hereda), debe poder usarse donde se use la clasepadre (de la cual va a heredar). Si hay al menos un caso donde se puede usar la clase padre, y no se puede usar la clase hija, la herencia no tiene sentido.
En C#, una clase solo puede heredar de otra (por algunas razones difíciles de explicar). O sea, una clase no puede heredar de varias clases a la vez. Para que una clase herede de otra nada más hay que ponerle ‘:‘ después de su declaración, yseguido poner el nombre de la clase de la que se quiere heredar.
Ejemplo:
class Circulo: Figura
{
// Implementación de la clase
}
Si una clase hija tiene un constructor que recibe los mismos parámetros que un constructor de la clase padre, y este constructor cumple las mismas funciones, que en la clase padre, el de la clase padre puede ser llamado desde la clase hija poniendo después dela declaración del constructor en la clase hija : y después la palabra reservada base. Dentro de los paréntesis van los parámetros del constructor base, (también veremos un ejemplo).
También es importante saber que si una clase hereda de otra, que a su vez hereda de otra, esta clase hereda también de la clase más arriba.
Por ejemplo, si un cuadrilátero es una figura y un paralelogramo es uncuadrilátero, entonces un paralelogramo es una figura…
Para que una clase padre permita que uno de sus métodos sea redefinido por sus clases herederas (las que heredan de ella) este método debe ser declarado usando la palabra reservada virtual, y cuando la clase hija vaya a redefinirlo, debe declararlo usando la palabra reservada override.
Ejemplo:
public <strong>virtual</strong> voidMétodo()
//declaración del método en la clase Padre
{
//aquí va el codigo}
 
public override void Método()
//declaración del método en la clase Hijo
{
//nuevas instrucciones
}
Si una clase hijo quiere redefinir un método de una clase padre, y este no fue declarado virtual en la clase padre, entonces hay que poner la palabra reservada newen la declaración del método.
Ejemplo:
public voidMétodo()
//declaración del método en la clase Padre
{
//aquí va el codigo}
 
public new void Método()
//declaración del método en la clase Hijo
{
//nuevas instrucciones
}
Ejemplo de herencia:
public class Hijo:Padre{
 
//la clase Hijo hereda de la clase Padre
public Hijo(int n):base(n){}
}
El constructor de la clase Hijo que recibe como parámetros un entero llama al...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Herencia en c++
  • Herencia y polimorfismo en c++
  • Ejercicios Herencia C#
  • Ejemplo herencia c++
  • C Ncer Herencia Y Ambiente
  • Herencia Simple c++
  • Herencia en c#
  • herencia c#

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS