Como funciona Construtor em caso de Herança no C Sharp?

.NET Core

.NET

C#

.NET Framework

03/08/2022

 public class Conta //CLASSE PAI
    {
        public int Numero { get; set; }

        public int Idade { get; set; }

        public Conta(int numero)
        {
            this.Numero = numero;
        }

public class ContaPoupanca:Conta // CLASSE FILHA
    {
        public ContaPoupanca(int idade)
        {
            this.Idade = idade;
        }
    }


Pq o código acima ocasiona erro?
Esdras Limaf

Esdras Limaf

Curtidas 0

Respostas

Anderson Gonçalves

Anderson Gonçalves

03/08/2022

É o seguinte meu companheiro, a sua classe pai tem a necessidade no seu construtor o parâmetro NUMERO que é um inteiro, já a sua classe filha não tem essa obrigatoriedade, fazendo com que dê erro, tente assim:


public class Conta // CLASSE PAI
{
public int Numero { get; set; }

public int Idade { get; set; }

public Conta(int numero)
{
this.Numero = numero; // o construtor da sua classe pai está solicitando o numero, você precisa fazer com que a classe filha solicite também, observe abaixo as modificações.
}
}

public class ContaPoupanca : Conta // CLASSE FILHA
{
public ContaPoupanca(int numero, int idade) : base(numero) // Veja que agora deve funcionar porque a sua classe filha está solicitando o NUMERO para informar a classe pai.
{
this.Idade = idade;
}
}

// Utilizando o código.
var conta = new ContaPoupanca(123, 18);
GOSTEI 0
POSTAR