1
resposta

[Dúvida] Dúvida

Até então a gente estava vendo os métodos de herança e interface. Quando foi criada a public class SaldoInsuficienteException que herda a classe Exception, assim:

public class SaldoInsuficienteException : Exception
{
    public SaldoInsuficienteException(string mensagem) : base(mensagem) 
    { 

    }
}

Como foi possível utilizar o SaldoInsuficienteException() na class ContaConrrente sem usar a herança?

1 resposta

Camila,

Acho que consigo explicar...

Quando você cria a herança, pode adicionar um construtor seu ou herdar da classe-base. Pode também criar funções específicas que NÃO são trazidas da herança.

Mas, neste caso é construtor da classe que devolve o controle para a classe-base.

Por favor, leia este artigo da Microsoft:

===============================================================

Usando construtores (Guia de Programação em C#)

Artigo - 06/04/2023

Um construtor pode usar a palavra-chave base para chamar o construtor de uma classe base. Por exemplo:

public class Manager : Employee
{
    public Manager(int annualSalary)
        : base(annualSalary)
    {
        //Add further instructions here.
    }
}

Neste exemplo, o construtor da classe base é chamado antes de o bloco do construtor ser executado. A palavra-chave base pode ser usada com ou sem parâmetros. Os parâmetros para o construtor podem ser usados como parâmetros para base ou como parte de uma expressão. Para obter mais informações, consulte base.

https://learn.microsoft.com/pt-br/dotnet/csharp/programming-guide/classes-and-structs/using-constructors

===============================================================

Por favor, veja também:

===============================================================

Como funciona a herança de constructors em C#? Classe pai e filha(Base e derivada)

https://pt.stackoverflow.com/questions/560827/como-funciona-a-heran%c3%a7a-de-constructors-em-c-classe-pai-e-filhabase-e-derivad

===============================================================

C# - Classe base, classe derivada e alguns conceitos básicos - II

Neste artigo veremos os conceitos de classe base, derivada, a palavra-chave base, o modificador virtual , o modificador override e alguns conceitos básicos.

Continuando a primeira parte do artigo hoje vou apresentar o problema que ocorre ao chamar um método virtual no construtor de classe base que pode causar um comportamento inconsistente do aplicativo, já que você pode estar chamando o método de classe derivada antes de inicializar todas as propriedades desta classe.

Criando uma classe base e usando a herança com uma classe derivada

Vamos criar uma classe chamada ClasseBase que será a nossa classe base:

Classe Base

...

https://macoratti.net/18/09/c_base2.htm

===============================================================

[]'s,

Fabio I.