Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Clases Derivadas | Fundamentos Esenciales de POO
C# Más Allá de lo Básico

bookClases 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.

Note
Nota

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

index.cs

copy
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

index.cs

copy
12345678910111213141516171819202122232425262728293031323334353637
using 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

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445
using 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.

Note
Nota

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#?

question mark

En C#, ¿qué palabra clave o símbolo se utiliza para declarar una clase derivada?

Select the correct answer

question mark

En la herencia multinivel, ¿cómo se llama la clase en la parte superior?

Select the correct answer

question mark

¿Es posible la herencia multinivel en C#?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 1

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

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

bookClases 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.

Note
Nota

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

index.cs

copy
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

index.cs

copy
12345678910111213141516171819202122232425262728293031323334353637
using 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

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445
using 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.

Note
Nota

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#?

question mark

En C#, ¿qué palabra clave o símbolo se utiliza para declarar una clase derivada?

Select the correct answer

question mark

En la herencia multinivel, ¿cómo se llama la clase en la parte superior?

Select the correct answer

question mark

¿Es posible la herencia multinivel en C#?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 1
some-alt