Classes Derivadas
Quando se diz que uma classe é derivada de outra classe, significa que ela possui todos os campos e métodos da classe pai e, além disso, a classe derivada pode conter campos e métodos adicionais.

Uma classe derivada (também chamada de classe filha) é uma classe que herda as propriedades de outra classe, enquanto, por outro lado, uma classe base (também chamada de classe pai) é uma classe da qual se herda.
A sintaxe para criar uma classe herdada é a seguinte:
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 }
Veja um exemplo com 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(); } }
Neste exemplo, Dog
é a classe derivada, herdando da classe base Animal
. A classe Dog
tem acesso à propriedade Name
e ao método Eat
da classe Animal
. Além disso, ela introduz um novo método, Bark
, que é específico da classe Dog
.
Conforme ilustrado no diagrama, podem existir casos em que uma classe herda de uma classe que já é derivada de outra:
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(); } }
Nesse caso, a classe no nível mais alto é chamada de Superclasse. Neste exemplo, Animal
é a superclasse. Uma situação em que há múltiplos níveis de herança é chamada de Herança Multinível.
Em algumas linguagens, é permitido que uma classe herde de várias classes base; tal herança é chamada de Herança Múltipla. Em C#, uma classe pode ter apenas uma classe pai, portanto, Herança Múltipla não é possível em C#.
1. Em C#, qual palavra-chave ou símbolo é utilizado para declarar uma classe derivada?
2. Na herança multinível, como é chamada a classe no topo?
3. A herança multinível é possível em C#?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 2.04
Classes Derivadas
Deslize para mostrar o menu
Quando se diz que uma classe é derivada de outra classe, significa que ela possui todos os campos e métodos da classe pai e, além disso, a classe derivada pode conter campos e métodos adicionais.

Uma classe derivada (também chamada de classe filha) é uma classe que herda as propriedades de outra classe, enquanto, por outro lado, uma classe base (também chamada de classe pai) é uma classe da qual se herda.
A sintaxe para criar uma classe herdada é a seguinte:
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 }
Veja um exemplo com 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(); } }
Neste exemplo, Dog
é a classe derivada, herdando da classe base Animal
. A classe Dog
tem acesso à propriedade Name
e ao método Eat
da classe Animal
. Além disso, ela introduz um novo método, Bark
, que é específico da classe Dog
.
Conforme ilustrado no diagrama, podem existir casos em que uma classe herda de uma classe que já é derivada de outra:
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(); } }
Nesse caso, a classe no nível mais alto é chamada de Superclasse. Neste exemplo, Animal
é a superclasse. Uma situação em que há múltiplos níveis de herança é chamada de Herança Multinível.
Em algumas linguagens, é permitido que uma classe herde de várias classes base; tal herança é chamada de Herança Múltipla. Em C#, uma classe pode ter apenas uma classe pai, portanto, Herança Múltipla não é possível em C#.
1. Em C#, qual palavra-chave ou símbolo é utilizado para declarar uma classe derivada?
2. Na herança multinível, como é chamada a classe no topo?
3. A herança multinível é possível em C#?
Obrigado pelo seu feedback!