Skip to content

Repository files navigation

args
g
l
s
expr (g * l * s)

Repositório de POO

Este repositório é uma coleção de exercícios e projetos relacionados à Programação Orientada a Objetos (POO). Ele é organizado em diferentes seções, cada uma focada em um aspecto específico da POO, como classes, objetos, herança, polimorfismo, entre outros.

Material de referência

Classes e Objetos

Projetos toalha animal enxugar carro calculadora
ciclo de vida . SIM . . .
early return . . . SIM SIM
testes automáticos . . SIM SIM SIM
erros comunicados via bool bool bool enum enum
esforço mínima baixo baixo médio médio

Encapsulamento e Invariantes

Projetos chinela camisa roupa relógio
validação de construtor . SIM SIM SIM
uso de arrays internos - SIM SIM .
testes automáticos . SIM SIM SIM
erros comunicados por bool bool bool bool
esforço mínima baixo baixo médio

Relações entre objetos: agregação e delegação

Projetos motoca grafite motouber
agregação nullable SIM SIM SIM
objeto removido devolvido SIM SIM SIM
regra delegada SIM SIM SIM
testes automáticos SIM SIM SIM
erros comunicados por enum/null enum/null enum/null
esforço baixo médio médio-alto

Desafios de agregação e estados

Projetos tamagotchi charger
agregação de componente externo SIM SIM
invariantes no componente SIM SIM
coordenação de estados SIM SIM
transição terminal SIM .
testes automáticos SIM SIM
erros comunicados por enum enum/null
esforço médio-alto alto

Coleções lineares

Projetos listas array contato pula-pula lapiseira
relação entre objetos . . composição agregação agregação
busca ou filtro SIM SIM . SIM .
ordem como regra SIM SIM SIM SIM SIM
coleção encapsulada . . SIM SIM SIM
movimento entre coleções . . . SIM SIM
testes automáticos . SIM SIM SIM SIM
erros comunicados por . . bool bool/null enum/null
esforço mínima baixo médio médio médio

Posições fixas e ausência

Projetos cinema budega
erros comunicados por bool bool
capacidade fixa SIM SIM
tipo de ausência null null
fila variável . SIM
validação de índice SIM SIM
testes automáticos SIM SIM
esforço baixo médio

Exceções

Mapas

  • Conceitos abordados neste módulo:
    • Map<K, V>;
    • chave única;
    • identidade versus posição;
    • acesso eficiente por identificador;
    • inserção duplicada;
    • remoção e busca por chave;
    • escolha entre lista e mapa;
    • manutenção de uma única fonte de verdade.
  • Não é ensinar mapa apenas como nova estrutura, mas discutir:
    • O elemento é localizado por posição, por busca ou por identidade única?
  • Conceitos principais: identidade, chave e, quando houver duplicação real, DRY.

Índices e Redundância

Neste bloco, você aprenderá a manter diferentes formas de acesso aos mesmos objetos, preservando uma única fonte de verdade e a consistência entre as estruturas.


Polimorfismo

  • Conceitos abordados neste módulo:
    • contrato comum;
    • implementações diferentes;
    • substituição de condicionais por delegação;
    • composição versus herança;
    • tipos abstratos ou interfaces;
    • extensibilidade;
    • substituição segura.
  • Possíveis princípios, apresentados gradualmente:
    • OCP, quando um novo comportamento puder ser adicionado sem alterar a coordenação;
    • LSP, quando houver substituição por subtipos;
    • ISP, apenas quando uma interface estiver grande demais;
    • DIP, quando o domínio precisar deixar de depender de uma implementação concreta.

TODO

labs

wiki

About

No description, website, or topics provided.

Resources

Stars

46 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages