Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Classes Derivadas | Essenciais de Poo
C# Além do Básico

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

Note
Nota

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

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 }

Veja um exemplo com 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(); } }

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

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(); } }

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.

Note
Nota

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

question mark

Em C#, qual palavra-chave ou símbolo é utilizado para declarar uma classe derivada?

Select the correct answer

question mark

Na herança multinível, como é chamada a classe no topo?

Select the correct answer

question mark

A herança multinível é possível em C#?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 1

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

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

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

Note
Nota

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

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 }

Veja um exemplo com 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(); } }

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

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(); } }

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.

Note
Nota

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

question mark

Em C#, qual palavra-chave ou símbolo é utilizado para declarar uma classe derivada?

Select the correct answer

question mark

Na herança multinível, como é chamada a classe no topo?

Select the correct answer

question mark

A herança multinível é possível em C#?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 1
some-alt