Instituto Federal de Santa Catarina - Análise e Desenvolvimento de Sistemas - Programação Frontend II - 2025.1
Programação Orientada a Objetos
Professor: Adriano Lima
Equipe: Júlia Manuela Turnes, Sofia Alves Toreti e Sant Semeghini
Vinagrito é um sistema de gerenciamento de tarefas projetado para acompanhar os usuários em suas diversas atividades diárias. Por meio da criação de listas personalizáveis, o Vinagrito permite que o usuário agrupe tarefas, defina prioridades, prazos, descrições e datas, facilitando a visualização, organização e conclusão de suas metas.
-
-
Em programação orientada a objetos, o “encapsulamento” refere-se a “esconder” atributos de uma classe de quem for utilizá-la, tornando-os inacessíveis fora da classe. Na implementação do Vinagrito, esse conceito foi utilizado para garantir que a lógica interna estivesse protegida de modificações e/ou acessos indevidos, promovendo a segurança e integridade do código.
-
Pode ser visto na classe DOM, a qual utiliza métodos e propriedades privadas, como #qtdLista, #renderizarLista, #newTask e etc.. (linhas de código 42, 52, 85 em DOM.js)
-
-
-
O “polimorfismo” é a maneira com que objetos de diferentes classes podem responder à mesma situação de formas diferentes, por meio de heranças, interfaces ou classes abstratas. Na implementação do Vinagrito, esse conceito é visto na classe Dialog, a qual se altera em diferentes aplicações, expressando a mesma interface com diferentes comportamentos.
-
Pode ser visto em :
“this.taskDialog” → Resulta na criação de uma nova tarefa, chamando #newTask (linhas de código 14 e 223 em DOM.js),
“editarDialog” → Resulta na edição de uma lista, chamando #editarLista (linhas de código 215 e 218 em DOM.js).
-
-
-
Outro pilar da POO é a "abstração", um conceito que visa o foco nos aspectos essenciais do objeto, criando um modelo simplificado de algo complexo. No Vinagrito, esse conceito pode ser visto na classe DOM, a qual oculta detalhes da manipulação de listas e tarefas, utilizando-se de métodos públicos como loadListasFromStorage() e newList(). Usos assim permitem que o código seja segmentado e funcional no contexto de equipe e eficiência do código.
-
(linhas de código 17 e 78 DOM.js)
-
-
-
Em POO, a “instanciação de objetos” consiste na criação de objetos a partir de uma classe, propiciando a modelagem de entidades do mundo real, assim como a flexibilização do código. No Vinagrito, isso foi utilizado através da chamada do construtor do objeto, o qual carrega seu próprio conjunto de dados e comportamentos.
-
Pode ser visto em :
// main.js (linhas de código 5 e 10) const dom = new DOM(); new Dialog(criarLista, callback); // Controle.js (linha de código 30) const novaLista = new Lista(data);
-
-
-
A “associação” ou “relacionamento” entre duas ou mais classes é um conceito fundamental da POO, onde uma classe utiliza objetos de outra como parte de sua operação. No Vinagrito, isso foi utilizado para garantir a simplificação de testes e instanciações.
-
Pode ser visto em :
// DOM.js (linhas de código 10, 14 ..) this.controle = new Controle(); this.taskDialog = new Dialog(...);
-