Herança C#

Resumo : neste tutorial, você aprenderá sobre a herança C# que permite que uma classe reutilize as propriedades e métodos de outra classe.

Introdução à herança C#

Herança é um dos conceitos centrais da programação orientada a objetos. A herança permite que uma classe herde de outra classe.

Herdar de uma classe permite reutilizar a funcionalidade da classe em vez de construí-la do zero.

C# permite que uma classe herde apenas de uma única classe. Isso é chamado de herança única. C# não oferece suporte a múltiplas heranças onde uma classe pode herdar de duas ou mais classes.

Suponha que você tenha uma Personclasse com propriedades ,,, FirstNamee e um método :LastNameAgeFullNameIntroduce()

// Person.cs
class Person
{
    public string FirstName { get; set; }

    public string LastName { get; set; }

    public byte Age { get; set; }

    public string FullName => $"{FirstName} {LastName}";

    public string Introduce() => $"Hi, I'm {FullName}.";
    
}Linguagem de código:  C#  ( cs )

E você deseja definir uma Employeeclasse que tenha todas as propriedades da Personclasse e mais duas propriedades JobTitlee Salary.

Em vez de copiar o código de Employeeclasse para Employeeclasse, você pode usar herança. O seguinte define a Employeeclasse que herda da Personclasse:

// Employee.cs

class Employee: Person
{
    
}Linguagem de código:  C#  ( cs )

Neste exemplo:

  • A Personclasse é chamada de classe pai , classe base ou superclasse
  • A Employeeclasse é chamada de classe filha , classe derivada ou subclasse .

Dizemos também que a Employeeaula estende a Personaula.

Como a Employeeclasse herda as propriedades e métodos da Personclasse, seus objetos se comportam como objetos da Personclasse. Por exemplo:

// Program.cs

var employee = new Employee
{
    FirstName = "John",
    LastName = "Doe",
    Age = 25
};

Console.WriteLine(employee.Introduce());Linguagem de código:  C#  ( cs )

Saída:

Hi, I'm John Doe.Linguagem de código:  C#  ( cs )

Como você pode ver, o Employeese comporta como a Personclasse sem duplicar o código. Dizemos que um funcionário é uma pessoa. E a herança modela um relacionamento é-um .

Estendendo uma classe pai

O seguinte adiciona as propriedades JobTitlee Salaryà Employeeclasse:

// Employee.cs
class Employee : Person
{
    public string JobTitle { get; set; }
    public decimal Salary { get; set; }
}Linguagem de código:  C#  ( cs )

Agora, a Employeeclasse tem suas próprias propriedades e as propriedades herdadas da Personclasse. O seguinte cria uma nova instância da Employeeclasse com todas as propriedades:

// Program.cs

var employee = new Employee
{
    FirstName = "John",
    LastName = "Doe",
    Age = 25,
    JobTitle = "C# Developer",
    Salary = 120000
};

Console.WriteLine(employee.Introduce());Linguagem de código:  C#  ( cs )

Saída:

Hi, I'm John Doe.Linguagem de código:  C#  ( cs )

Resumo

  • A herança permite que uma classe (subclasse) herde de outra classe (classe base) para estender ou personalizar a classe base.
  • C# permite que uma classe herde de uma única classe. Isso é chamado de herança única.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *