Desafio de Recapitulação
Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 20 de 56.
Desafio
Você recebeu uma classe GameCharacter. Sua tarefa é:
- Adicionar um campo privado
#isAliveinicializado comotrue - Adicionar um método privado
#checkIfAlive()que:- Define
#isAlivecomotruese#health > 0 - Define
#isAlivecomofalsese#health ≤ 0
- Define
Experimente você mesmo
import { GameCharacter } from './GameCharacter.js';
// Código de teste - não modifique
const warrior = new GameCharacter("Warrior");
warrior.takeDamage(30);
console.log(warrior.getStatus()); // Deve exibir "Alive"
warrior.takeDamage(80);
console.log(warrior.getStatus()); // Deve exibir "Defeated"Todas as lições de Programação Orientada a Objetos
1Objetos e a Palavra-chave this
Revisão Rápida: ObjetosAdicionando Métodos a ObjetosEntendendo a Palavra-chave thisFunções ConstrutorasA Palavra-chave newDesafio de Recapitulação7Herança e a palavra-chave extends
HerançaA relação "é um"A palavra-chave extendsO método super()Herdando propriedades e métodosDesafio de recapitulação10Polimorfismo
O que é Polimorfismo?Sobrescrevendo Métodos HerdadosUsando superDesafio de Recapitulação13Composição vs. Herança
A relação "tem um" vs. "é um"Os limites da herança profundaConstruindo objetos2Organizando o Código
O que são Módulos?Exportando com exportImportando com importExportações Default vs. Nomeadas5Encapsulamento e Acesso
EncapsulamentoCampos de Classe Públicos e PrivadosMétodos PrivadosDesafio de Recapitulação8Organizando Código POO
Organizar Classes em Módulos11Projeto: Um Renderizador de Formas
Configuração: Classe Shape e ExportaçãoHerança da Classe Circle14Sistema de Gerenciamento de Biblioteca
Projetando a BibliotecaClasse Livro com Composição