A classe super pelo que entendi, herda comandos da classe Pai. Estou estudando e fiz algumas classes para estudar: Usuario.js | IMC.js
Usuario.js
export class Usuario {
constructor(nome,peso,sexo,altura){
this._nome = nome;
this._peso = peso;
this._sexo = sexo;
this._altura = altura;
}
get Imc(){
//calculado dividindo o peso (em kg) pela altura ao quadrado
let imc = this._peso / Math.pow(this._altura, 2);
return imc;
}
get Nome(){
return this._nome;
}
get Peso(){
return this._peso;
}
get Sexo(){
return this._sexo;
}
get Altura(){
return this._altura;
}
}
IMC.js
import { Usuario } from "./Usuario.js";
export class IMC extends Usuario{
constructor(imc){
super(nome,peso,sexo,altura);
}
StatusIMC(){
let x = super.Imc;
if(x < 18.5){
return "Abaixo do peso";
}
if(x >= 18.5 && x <= 24.9){
return "Peso normal";
}else {
return "sobrepeso";
}
}
}
Notem que usei o super no ICM.js para "herdar" do pai o get.IMC para "retornar" o valor e jogar na condicional do StatusIMC.
Index.js
Acontece que quando executo o Index.js ele retorna o console.log(Usuario01.StatusIMC) como undefined.
import {Usuario} from "./Usuario.js"
//Usuario(nome,peso,sexo,altura);
let Usuario01 = new Usuario("Vinicius","70","Masculino",1.78);
console.log("Dados clínicos");
console.log("\n Peso = " + Usuario01.Nome);
console.log("\n Peso = "+ Usuario01.Peso);
console.log("\n Sexo = "+ Usuario01.Sexo);
console.log("\n Altura = "+ Usuario01.Altura);
console.log("\n IMC = "+Usuario01.Imc);
console.log(Usuario01.StatusIMC);
Deu para entender mais ou menos ? Eu queria herdar o valor do get IMC da classe Pai Usuario.js, e fazer jogar na classe filha IMC.js para retornar determinada condição.. Mas não deu certo