1
resposta

Dúvidas fixar conteúdo

class Cliente{
  constructor (nome, email, cpf, saldo, soma){
    this.nome = nome
    this.email = email
    this.cpf = cpf
    this.saldo = saldo
    this.soma = soma

  }
  depositar(valor){
    this.saldo += valor
  }
  exibirSaldo(){
    console.log(this.saldo)
  }
  adicao(n1,n2){
    return this.soma = n1+n2;
  }
  exibirSoma(){
    console.log(`${this.nome} efetuou a soma e o resultado deu ${this.soma}`)
  }
}

const andre = new Cliente("Andre","andre@email.com","444444",100)
const anderson = new Cliente("Anderson")
anderson.adicao(4,5)
anderson.exibirSoma()
andre.adicao(3,5)
andre.exibirSoma()


andre.depositar(30)
andre.exibirSaldo()

console.log(andre)

Boa noite! Comecei a fazer uns testes para fixar o conhecimento, pois ainda não consigo desenvolver uma classe assim do zero e isso me assusta um pouco, por isso queria entender algumas coisas. Pelo que compreendi nos ajustes, gostaria de confirmação nas indagações a seguir: 1 - É verdade que os parâmetros do constructor precisam ter sua ordem respeitada na hora de definir os parâmetros do new Cliente? 2 - Foi correta a forma para fazer novos clientes (herdeiros) poderem somar? Percebi que foi preciso atribuir o parâmetro soma para armazenar seu valor no constructor. 3 - observei que não preciso definir parâmetro para soma quando gero um new Cliente, no caso é comum que os métodos sejam chamados por fora em códigos mais avançados e profissionais?

Obrigado pela atenção!

1 resposta

Oi, Filipe, tudo bem?

Desculpe a demora em te responder!

Sempre pode surgir desafios quando estamos aprendendo algo novo, mas conte com a comunidade do fórum para te ajudar sempre que precisar!

Com relação às suas dúvidas:

  1. Sim, é verdade que os parâmetros do constructor precisam ter sua ordem respeitada quando você cria uma nova instância da classe Cliente usando o new Cliente. No seu exemplo, a ordem correta dos parâmetros é: nome, email, cpf, saldo e soma. Quando você cria um novo objeto Cliente, precisa fornecer os valores correspondentes a esses parâmetros na mesma ordem.
  2. A forma como você implementou a adição na classe Cliente está correta. Você adicionou um método chamado adicao(n1, n2) que recebe dois números como parâmetros e retorna a soma desses números. Dentro desse método, você atribuiu o resultado da soma à propriedade soma do objeto atual (this). Isso permite que cada instância da classe Cliente tenha seu próprio valor de soma.
  3. No seu exemplo, a propriedade soma é definida no constructor com um valor inicial. Quando você cria uma nova instância de Cliente sem fornecer o valor para o parâmetro soma, ele assumirá o valor inicial definido no constructor. É comum definir valores padrão para os parâmetros do constructor quando você deseja que eles sejam opcionais. No entanto, é importante notar que se você fornecer um valor para o parâmetro soma ao criar uma nova instância de Cliente, esse valor substituirá o valor inicial definido no constructor.

Espero ter ajudado. Caso tenha dúvidas, estarei à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software