Clases Derivadas
Cuando se dice que una clase está derivada de otra clase, significa que posee todos los campos y métodos de la clase padre y, además, la clase derivada puede contener campos y métodos adicionales.

Una clase derivada (también llamada clase hija) es una clase que hereda las propiedades de otra clase; por el contrario, una clase base (también llamada clase padre) es una clase de la cual se hereda.
La sintaxis para crear una clase heredada es la siguiente:
index.cs
1234567891011// Base class (parent class) public class BaseClass { // Fields and methods of the base class } // Derived class (child class) public class DerivedClass : BaseClass { // Additional fields and methods specific to the derived class }
A continuación, un ejemplo con código concreto:
index.cs
12345678910111213141516171819202122232425262728293031323334353637using System; // Base class (parent class) public class Animal { public string Name; public void Eat() { Console.WriteLine($"{Name} is eating."); } } // Derived class (child class) public class Dog : Animal { public void Bark() { Console.WriteLine($"{Name} is barking."); } } class ConsoleApp { static void Main() { // Creating an instance of the derived class Dog myDog = new Dog(); myDog.Name = "Buddy"; // Using inherited method from the base class myDog.Eat(); // Using method specific to the derived class myDog.Bark(); } }
En este ejemplo, Dog
es la clase derivada, que hereda de la clase base Animal
. La clase Dog
tiene acceso a la propiedad Name
y al método Eat
de la clase Animal
. Además, introduce un nuevo método, Bark
, que es específico de la clase Dog
.
Como se ilustra en el diagrama, pueden existir casos en los que una clase herede de otra clase que ya es una clase de otra:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445using System; // Base class public class Animal { public void Eat() { Console.WriteLine("Animal is eating."); } } // Intermediate class inheriting from Animal public class Mammal : Animal { public void GiveBirth() { Console.WriteLine("Mammal is giving birth."); } } // Derived class inheriting from Mammal public class Dog : Mammal { public void Bark() { Console.WriteLine("Dog is barking."); } } class Program { static void Main() { Dog myDog = new Dog(); // Methods from the base class myDog.Eat(); // Methods from the intermediate class myDog.GiveBirth(); // Methods from the derived class myDog.Bark(); } }
En este caso, la clase en el nivel más alto se denomina Superclase. En este caso, Animal
es la superclase. Un caso en el que existen múltiples niveles de herencia se denomina Herencia multinivel.
En algunos lenguajes se permite que una clase herede de múltiples clases base; dicha herencia se denomina Herencia múltiple. En C#, una clase solo puede tener una clase padre, por lo que la herencia múltiple no es posible en C#.
1. En C#, ¿qué palabra clave o símbolo se utiliza para declarar una clase derivada?
2. En la herencia multinivel, ¿cómo se llama la clase en la parte superior?
3. ¿Es posible la herencia multinivel en C#?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain more about multi-level inheritance with an example?
What are the benefits of using inheritance in programming?
Are there any limitations or drawbacks to using inheritance?
Awesome!
Completion rate improved to 2.04
Clases Derivadas
Desliza para mostrar el menú
Cuando se dice que una clase está derivada de otra clase, significa que posee todos los campos y métodos de la clase padre y, además, la clase derivada puede contener campos y métodos adicionales.

Una clase derivada (también llamada clase hija) es una clase que hereda las propiedades de otra clase; por el contrario, una clase base (también llamada clase padre) es una clase de la cual se hereda.
La sintaxis para crear una clase heredada es la siguiente:
index.cs
1234567891011// Base class (parent class) public class BaseClass { // Fields and methods of the base class } // Derived class (child class) public class DerivedClass : BaseClass { // Additional fields and methods specific to the derived class }
A continuación, un ejemplo con código concreto:
index.cs
12345678910111213141516171819202122232425262728293031323334353637using System; // Base class (parent class) public class Animal { public string Name; public void Eat() { Console.WriteLine($"{Name} is eating."); } } // Derived class (child class) public class Dog : Animal { public void Bark() { Console.WriteLine($"{Name} is barking."); } } class ConsoleApp { static void Main() { // Creating an instance of the derived class Dog myDog = new Dog(); myDog.Name = "Buddy"; // Using inherited method from the base class myDog.Eat(); // Using method specific to the derived class myDog.Bark(); } }
En este ejemplo, Dog
es la clase derivada, que hereda de la clase base Animal
. La clase Dog
tiene acceso a la propiedad Name
y al método Eat
de la clase Animal
. Además, introduce un nuevo método, Bark
, que es específico de la clase Dog
.
Como se ilustra en el diagrama, pueden existir casos en los que una clase herede de otra clase que ya es una clase de otra:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445using System; // Base class public class Animal { public void Eat() { Console.WriteLine("Animal is eating."); } } // Intermediate class inheriting from Animal public class Mammal : Animal { public void GiveBirth() { Console.WriteLine("Mammal is giving birth."); } } // Derived class inheriting from Mammal public class Dog : Mammal { public void Bark() { Console.WriteLine("Dog is barking."); } } class Program { static void Main() { Dog myDog = new Dog(); // Methods from the base class myDog.Eat(); // Methods from the intermediate class myDog.GiveBirth(); // Methods from the derived class myDog.Bark(); } }
En este caso, la clase en el nivel más alto se denomina Superclase. En este caso, Animal
es la superclase. Un caso en el que existen múltiples niveles de herencia se denomina Herencia multinivel.
En algunos lenguajes se permite que una clase herede de múltiples clases base; dicha herencia se denomina Herencia múltiple. En C#, una clase solo puede tener una clase padre, por lo que la herencia múltiple no es posible en C#.
1. En C#, ¿qué palabra clave o símbolo se utiliza para declarar una clase derivada?
2. En la herencia multinivel, ¿cómo se llama la clase en la parte superior?
3. ¿Es posible la herencia multinivel en C#?
¡Gracias por tus comentarios!