0Pricing
C# Academy · Lección

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!

Herencia: reutilización de código — ilustración 1

¿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 sealed para 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!

Herencia: reutilización de código — ilustración 10

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

  1. ¿Qué es la programación orientada a objetos?
  2. Definir clases y objetos
  3. Comprender las propiedades y los métodos
  4. Constructores en C#
  5. Encapsulación y modificadores de acceso
  6. Herencia: reutilización de código
  7. Polimorfismo y sobrescritura de métodos
← Volver a C# Academy