Herencia: reutilización de código
Reutilice y amplíe código existente mediante la herencia en C#
Herencia: reutilización de código es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 6 de 7. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 7 lecciones en total.
Introducción a la herencia
Herencia: reutilización del código
¡Bienvenido a la siguiente lección! En esta lección, aprenderá sobre la herencia, uno de los principios fundamentales de la programación orientada a objetos, y sobre cómo permite reutilizar el código y crear jerarquías. ¡Comencemos!

¿Qué es la herencia?
¿Qué es la herencia?
La herencia permite que una clase (la clase hija o clase derivada) adquiera los atributos y métodos de otra clase (la clase padre o clase base). Permite reutilizar el código y establecer relaciones jerárquicas entre clases.
Ejemplo: Una clase "Car" podría servir como clase base para las clases "ElectricCar" y "SportsCar", que compartirían propiedades comunes como "Color" y "Speed".
Definir una clase base
Definir una clase base
Una clase base contiene propiedades y métodos comunes que pueden heredar las clases derivadas. Ejemplo:
Punto clave: Defina el código reutilizable en la clase base.
using System;
class Vehicle {
public string Color;
public void Drive() {
Console.WriteLine("The vehicle is driving.");
}
}
Crear una clase derivada
Crear una clase derivada
Una clase derivada hereda las propiedades y los métodos de una clase base. Use el símbolo : para indicar la herencia. Ejemplo:
Punto clave: Las clases derivadas pueden añadir nuevas funciones o sobrescribir la funcionalidad de la clase base.
using System;
class Vehicle {
public string Color;
public void Drive() {
Console.WriteLine("The vehicle is driving.");
}
}
class Car : Vehicle {
public int NumberOfDoors;
public void ShowDetails() {
Console.WriteLine("Color: " + Color);
Console.WriteLine("Doors: " + NumberOfDoors);
}
}
class Program {
static void Main() {
Car myCar = new Car();
myCar.Color = "Red"; // Inherited from Vehicle
myCar.NumberOfDoors = 4;
myCar.Drive(); // Inherited from Vehicle
myCar.ShowDetails();
}
}
Sobrescribir métodos
Sobrescribir métodos
Las clases derivadas pueden sobrescribir métodos de la clase base para proporcionar un comportamiento especializado. Use la palabra clave virtual en la clase base y la palabra clave override en la clase derivada. Ejemplo:
Consejo: La sobrescritura resulta útil para personalizar el comportamiento de las clases derivadas.
using System;
class Vehicle {
public virtual void Drive() {
Console.WriteLine("The vehicle is driving.");
}
}
class SportsCar : Vehicle {
public override void Drive() {
Console.WriteLine("The sports car is driving fast!");
}
}
class Program {
static void Main() {
SportsCar myCar = new SportsCar();
myCar.Drive(); // Calls the overridden method
}
}
Palabra clave base
Palabra clave base
La palabra clave base se utiliza para acceder a los miembros de la clase base desde una clase derivada. Ejemplo:
Consejo: Utilice base para ampliar o complementar el comportamiento de la clase base.
using System;
class Vehicle {
public string Color;
public virtual void Drive() {
Console.WriteLine("The vehicle is driving.");
}
}
class Truck : Vehicle {
public override void Drive() {
base.Drive(); // Calls the base class method
Console.WriteLine("The truck is carrying a heavy load.");
}
}
class Program {
static void Main() {
Truck myTruck = new Truck();
myTruck.Color = "Blue";
myTruck.Drive();
}
}
Desafío práctico
Desafío práctico
Cree una clase base llamada Animal con un método Speak() que imprima "El animal emite un sonido." Cree clases derivadas Dog y Cat que sobrescriban Speak() para imprimir "El perro ladra." y "El gato maúlla." Ejemplo:
using System;
class Animal {
public virtual void Speak() {
Console.WriteLine("The animal makes a sound.");
}
}
class Dog : Animal {
public override void Speak() {
Console.WriteLine("The dog barks.");
}
}
class Cat : Animal {
public override void Speak() {
Console.WriteLine("The cat meows.");
}
}
class Program {
static void Main() {
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.Speak();
myCat.Speak();
}
}
Buenas prácticas para la herencia
Buenas prácticas para la herencia
Estas son algunas buenas prácticas:
- Utilice la herencia únicamente cuando exista una relación clara de tipo "es un" (por ejemplo, un Car es un Vehicle).
- Mantenga las clases base lo más generales posible.
- Utilice
sealedpara impedir una herencia posterior cuando sea necesario.
Consejo: La herencia debe simplificar su base de código, no complicarla.
¡Excelente trabajo!
¡Excelente trabajo!
¡Enhorabuena! Ha aprendido a utilizar la herencia para reutilizar código y crear jerarquías de clases en C#. En la siguiente lección, profundizará en el polimorfismo, otro concepto muy potente de la POO. ¡Sigamos programando!

Preguntas frecuentes
¿La lección «Herencia: reutilización de código» es gratis?
Sí — el texto completo de «Herencia: reutilización de código» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 7 lecciones en total.
¿Qué aprenderé en «Herencia: reutilización de código»?
Reutilice y amplíe código existente mediante la herencia en C# Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C# Academy?
No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 6 de 7.
¿Cuánto tiempo toma la lección «Herencia: reutilización de código»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C# Academy?
Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- ¿Qué es la programación orientada a objetos?
- Definir clases y objetos
- Comprender las propiedades y los métodos
- Constructores en C#
- Encapsulación y modificadores de acceso
- Herencia: reutilización de código
- Polimorfismo y sobrescritura de métodos