3
respostas

Dúvida sobre o construtor da classe Diretor

public Diretor(string cpf) : base(cpf, 5000)  

1ª dúvida, a ordem dos critérios do construtor pode ser a livre escolha? (no meu caso coloquei o cpf primeiro e depois o salário) 2ª dúvida, se eu não quiser "cravar" o salário inicial do Diretor, preciso atribuir o argumento salario do construtor Diretor (ficando assim: public Diretor(string cpf, double salario) : base (cpf, salario) )

3 respostas

Olá Leandro, tudo certo?

Sobre a sua primeira dúvida, ao usar um construtor, você precisa respeitar a ordem dos tipos, mas se você criar o construtor com os parâmetros ao contrário, não tem problema. Você só precisa passar os parâmetros do jeito que você fez no construtor.

Sobre a segunda, essa é uma solução para não "cravar" o valor.

Espero ter ajudado. Bons estudos!

1ª dúvida, a ordem dos critérios do construtor pode ser a livre escolha? (no meu caso coloquei o cpf primeiro e depois o salário)

Pode sim, voce define a ordem. Com a ordem definida, na hora de passar os valores no construtor voce deve seguir essa ordem. Se voce quiser atribuir valores na construcao diferente da ordem que atribuiu voce precisa chamar os parametros explicitamente. Ex.:

public Diretor(string cpf, float salario) : base(cpf, salario) 
public Diretor(float salario, string cpf) : base(cpf: cpf, salario: salario) {  }

Na segunda opcao como pode ver, eu declarei salario e depois cpf, mas no construtor eu passo cpf e depois salario. Para isso eu tive que explicitar o parametro que estava passando.

2ª dúvida, se eu não quiser "cravar" o salário inicial do Diretor, preciso atribuir o argumento salario do construtor Diretor (ficando assim: public Diretor(string cpf, double salario) : base (cpf, salario) )

Correto.

Leandro, como vai?

Suas perguntas parecem já ter sido respondidas. Farei aqui apenas uma observação quanto do tipo de dado que você está usando em salário.

Como estamos trabalhando com valores monetários com base decimal, use o tipo decimal para não ter problemas de perda de informação. Esse tipo foi usado justamente para esse tipo de operação, uma vez que float e double tem perda de precisão em algumas operações.