1
resposta

Boa tarde, minha dúvida refere-se ao private set dos atributos: 'Numero' e 'Agencia'. Pois, quando executei meu código mesmo sendo private esses atributos, minhas "classes filhas" conseguem editá-los por meio do construtor da base por referência.

public abstract class Conta { public int Numero { get; private set; } public int Agencia { get; private set; }

public Conta(int numero, int agencia)
{
    Numero = numero;
    Agencia = agencia;
}

}

1 resposta

O 'private set' impede apenas que métodos ou funções fora da classe 'Conta' alterem os valores das propriedades 'Número' e 'Agência'.

As classes filhas sempre precisam receber os argumentos do construtor e passar esses argumentos para a classe base. Nesse caso não é uma alteração e sim uma atribuição.

Espero que você tenha entendido.