Contador de Formas Estático
Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 42 de 56.
Desafio
Modifique a classe Shape para rastrear quantas formas foram criadas usando propriedades e métodos estáticos.
Sua tarefa:
- Adicione uma propriedade estática chamada
totalShapesinicializada com0 - Incremente o contador no construtor:
Shape.totalShapes++; - Adicione um método estático chamado
getTotalCreated()que retorna a contagem atual do total de formas
Experimente você mesmo
import { Shape } from './Shape.js';
import { Circle } from './Circle.js';
// Testes
console.log(`Initial count: ${Shape.getTotalCreated()}`); // Deve ser 0
const shape1 = new Shape('red');
const shape2 = new Shape('green');
const circle1 = new Circle('blue', 5);
const circle2 = new Circle('yellow', 10);
console.log(`After creating 4 shapes: ${Shape.getTotalCreated()}`); // Deve ser 4Todas 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