Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

gostaria de saber como eu posso herdar só algumas propriedades

class Cliente{
    constructor(nome, idade, cpf, email, saldo){
        this.nome = nome
        this.idade = idade
        this.cpf = cpf
        this.email = email
        this.saldo = saldo
    }
    depositar(valor){
        this.saldo += valor
    }
}

const Nicolly = new Cliente("Nicolly", "17", "125416516584", "Nicolly@gmail.com", 5119)

/* console.log(Nicolly) */

Nicolly.depositar(500) 

/* console.log(Nicolly) */

class jogador extends Cliente{
    constructor(nome, idade, email, classe){
        super(nome, idade, email)
        this.classe = classe
    }
}

const Gustavo = new jogador("Gustavo", "17", "GustavoWistefelt@gmail.com", "Gladiator")

console.log(Gustavo)

console :jogador {
  nome: 'Gustavo',
  idade: '17',
  cpf: 'GustavoWistefelt@gmail.com',
  email: undefined,
  saldo: undefined,
  classe: 'Gladiator'
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Gustavo, se você não vai utilizar todos os campos de uma classe herdada, provavelmente você não deveria estar herdando dela. Acredito que você poderia criar uma classe mais geral, com os campos em comum entre um jogador e um cliente, como por exemplo todos herdarem de uma classe Pessoa. Uma Pessoa tem nome, idade, email... E daí as classes mais especializadas, como Cliente e Jogador, herdarem de Pessoa, e utilizarem os campos de Pessoa junto com seus campos especializados (classe, saldo...). Ficou claro?