class Pokemon { #name = ""; #type = ""; constructor(name, type) { this.#name = name; this.#type = type; } get name() { return this.#name; } get type() { return this.#type; } /* Agregamos dós nuuevos métodos los caules establecen habilidadess que puede tener un pokemon. */ get canFly() { return "Puedo volar"; } get canSwim() { return "Puedo Nadar"; } } /* Creamos las clasee Charizar que hereda de la clase Pokemoon por lo cual tomara todos los métodos. */ class Charizar extends Pokemon { constructor() { super("Charizar", "Fire"); } // En este caso Charizar puede volar get canFly() { return `Soy ${this.name} y puedo volar`; } // get canSwim() { return `No puedo nadar por que soy de tipo ${this.type}`; } } /* Creamos las clasee Charizar que hereda de la clase Pokemoon por lo cual tomara todos los métodos. */ class Blastoise extends Pokemon { constructor() { super("Blastoise", "Water"); } get canFly() { return `No puedo volar por que soy de tipo ${this.type}`; } get canSwim() { return `Soy ${this.name} y puedo nadar`; } } const CHARIZAR = new Charizar(); console.log(CHARIZAR.canFly); console.log(CHARIZAR.canSwim); /* output Soy Charizar y puedo volar No puedo nadar por que soy de tipo Fire */ const BLASTOISE = new Blastoise(); console.log(BLASTOISE.canFly); console.log(BLASTOISE.canSwim); /* output No puedo volar por que soy de tipo Water Soy Blastoise y puedo nadar */