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

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