La herencia es uno de los pilares fundamentales de la Programación Orientada a Objetos (POO), y C# la implementa de forma muy clara y potente. En este artículo vamos a explicar qué es y cómo se usa, con un ejemplo muy sencillo basado en personajes de videojuegos.
🔎 ¿Qué es la herencia?
La herencia permite que una clase hija herede propiedades y métodos de una clase padre. Esto evita duplicar código y permite modelar estructuras más realistas.
Por ejemplo, si tenemos una clase base Personaje
con propiedades comunes como Nombre
, Vida
y un método Atacar()
, podemos crear clases más específicas como Mago
o Guerrero
que hereden de ella y añadan comportamientos únicos.
👨🏫 Código de ejemplo
🧱 Clase base: Personaje
public class Personaje
{
public string Nombre { get; set; }
public int Vida { get; set; }
public void Atacar()
{
Console.WriteLine($"{Nombre} ataca con su arma.");
}
}
Esta clase representa a cualquier personaje del juego: tiene un nombre, una cantidad de vida y puede atacar.
🧙 Clase hija: Mago
public class Mago : Personaje
{
public void LanzarHechizo()
{
Console.WriteLine($"{Nombre} lanza una bola de fuego.");
}
}
El Mago
hereda todo lo que tiene Personaje
, y además añade su habilidad de lanzar hechizos.
⚔️ Clase hija: Guerrero
public class Guerrero : Personaje
{
public void Defender()
{
Console.WriteLine($"{Nombre} se defiende con su escudo.");
}
}
El Guerrero
también es un personaje, pero tiene una acción propia: defenderse con su escudo.
🧪 Cómo usar las clases
En tu programa principal (Main
), podrías hacer algo así:
class Program
{
static void Main()
{
Mago mago = new Mago();
mago.Nombre = "Gandalf";
mago.Vida = 80;
mago.Atacar(); // Método heredado
mago.LanzarHechizo(); // Método propio
Guerrero guerrero = new Guerrero();
guerrero.Nombre = "Conan";
guerrero.Vida = 120;
guerrero.Atacar(); // Método heredado
guerrero.Defender(); // Método propio
}
}
✅ ¿Qué hemos aprendido?
- Herencia:
Mago
yGuerrero
heredan dePersonaje
. - Reutilización de código: los métodos y propiedades comunes no se repiten.
- Especialización: cada subclase tiene comportamientos únicos.
🧩 ¿Cuándo usar herencia?
Úsala cuando haya una relación jerárquica natural, por ejemplo:
- Un
Coche
es unVehículo
. - Un
Administrador
es unUsuario
. - Un
Mago
es unPersonaje
.
🎮 Conclusión
La herencia en C# te permite escribir código más limpio, estructurado y fácil de mantener. Además, te ayuda a representar de manera realista las relaciones entre entidades en tus programas. ¡Y como ves, incluso puedes aplicarlo a tus propios videojuegos!
¿Te gustaría que suba un proyecto completo con estos ejemplos? Déjalo en los comentarios 👇 y no olvides compartir si te ha servido 😊
Contenido restringido
Comments are closed