0Pricing
C# Academy · Aula

Herança: reutilizando código

Reutilize e amplie código existente usando herança em C#

Herança: reutilizando código é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 6 de 7. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 7 aulas no total.

Introdução à herança

Herança: reutilizando código

Boas-vindas à próxima lição! Nesta lição, você aprenderá sobre herança, um dos princípios fundamentais da Programação Orientada a Objetos, e como ela permite reutilizar código e criar hierarquias. Vamos começar!

Herança: reutilizando código — ilustração 1

O que é herança?

O que é herança?

A herança permite que uma classe (a classe filha ou classe derivada) adquira os atributos e métodos de outra classe (a classe pai ou classe base). Ela permite reutilizar código e estabelecer relações hierárquicas entre classes.

Exemplo: Uma classe "Car" poderia servir como classe base para as classes "ElectricCar" e "SportsCar", compartilhando propriedades comuns como "Color" e "Speed".

Definindo uma classe base

Definindo uma classe base

Uma classe base contém propriedades e métodos comuns que podem ser herdados por classes derivadas. Exemplo:

Ponto principal: Defina o código reutilizável na classe base.

using System;

class Vehicle {
    public string Color;

    public void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

Criando uma classe derivada

Criando uma classe derivada

Uma classe derivada herda as propriedades e os métodos de uma classe base. Use o símbolo : para indicar a herança. Exemplo:

Ponto principal: As classes derivadas podem adicionar novos recursos ou substituir a funcionalidade da classe base.

using System;

class Vehicle {
    public string Color;

    public void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

class Car : Vehicle {
    public int NumberOfDoors;

    public void ShowDetails() {
        Console.WriteLine("Color: " + Color);
        Console.WriteLine("Doors: " + NumberOfDoors);
    }
}

class Program {
    static void Main() {
        Car myCar = new Car();
        myCar.Color = "Red"; // Inherited from Vehicle
        myCar.NumberOfDoors = 4;
        myCar.Drive(); // Inherited from Vehicle
        myCar.ShowDetails();
    }
}

Substituindo métodos

Substituindo métodos

As classes derivadas podem substituir métodos da classe base para fornecer um comportamento especializado. Use a palavra-chave virtual na classe base e a palavra-chave override na classe derivada. Exemplo:

Dica: A substituição é útil para personalizar o comportamento em classes derivadas.

using System;

class Vehicle {
    public virtual void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

class SportsCar : Vehicle {
    public override void Drive() {
        Console.WriteLine("The sports car is driving fast!");
    }
}

class Program {
    static void Main() {
        SportsCar myCar = new SportsCar();
        myCar.Drive(); // Calls the overridden method
    }
}

Palavra-chave base

Palavra-chave base

A palavra-chave base é usada para acessar membros da classe base a partir de uma classe derivada. Exemplo:

Dica: Use base para estender ou complementar o comportamento da classe base.

using System;

class Vehicle {
    public string Color;

    public virtual void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

class Truck : Vehicle {
    public override void Drive() {
        base.Drive(); // Calls the base class method
        Console.WriteLine("The truck is carrying a heavy load.");
    }
}

class Program {
    static void Main() {
        Truck myTruck = new Truck();
        myTruck.Color = "Blue";
        myTruck.Drive();
    }
}

Desafio prático

Desafio prático

Crie uma classe base chamada Animal com um método Speak() que imprime "O animal emite um som." Crie classes derivadas Dog e Cat que substituam Speak() para imprimir "O cachorro late." e "O gato mia." Exemplo:

using System;

class Animal {
    public virtual void Speak() {
        Console.WriteLine("The animal makes a sound.");
    }
}

class Dog : Animal {
    public override void Speak() {
        Console.WriteLine("The dog barks.");
    }
}

class Cat : Animal {
    public override void Speak() {
        Console.WriteLine("The cat meows.");
    }
}

class Program {
    static void Main() {
        Animal myDog = new Dog();
        Animal myCat = new Cat();

        myDog.Speak();
        myCat.Speak();
    }
}

Melhores práticas para herança

Melhores práticas para herança

Veja algumas práticas recomendadas:

  • Use herança somente quando houver uma relação clara de “é um” (por exemplo, um Car é um Vehicle).
  • Mantenha as classes base o mais gerais possível.
  • Use sealed para impedir novas heranças quando necessário.

Dica: A herança deve simplificar, não complicar, sua base de código.

Muito bem!

Muito bem!

Parabéns! Você aprendeu a usar herança para reutilizar código e criar hierarquias de classes em C#. Na próxima lição, vamos explorar o polimorfismo, outro conceito poderoso da POO. Continue programando!

Herança: reutilizando código — ilustração 10

Perguntas Frequentes

A aula “Herança: reutilizando código” é grátis?

Sim — o texto completo de “Herança: reutilizando código” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 7 aulas no total.

O que vou aprender em “Herança: reutilizando código”?

Reutilize e amplie código existente usando herança em C# Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C# Academy?

Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 6 de 7.

Quanto tempo leva a aula “Herança: reutilizando código”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C# Academy?

Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O que é programação orientada a objetos?
  2. Definindo classes e objetos
  3. Entendendo propriedades e métodos
  4. Construtores em C#
  5. Encapsulamento e modificadores de acesso
  6. Herança: reutilizando código
  7. Polimorfismo e sobrescrita de métodos
← Voltar para C# Academy