Linguagens de ProgramaçãoVisão geral
Modularidade e Abstração
Um módulo é uma unidade que junta uma responsabilidade e expõe uma interface. Abstrair é tratar essa unidade pelo o quê ela faz, sem abrir o como.
Decomposição, ocultação de campos, contratos de tipo e o par coesão–acoplamento deste tópico — e tipos abstratos, herança é-um e procedimentos nos tópicos seguintes — partem desse corte.
As páginas se agrupam em quatro blocos. O primeiro recorta o problema de cima para baixo: nomeia um passo só e substitui cada linha vaga até restar primitiva.
O segundo agrupa dados e operações na classe e impede escrita direta no campo: só getter e método que valida.
O terceiro classifica o que some — algoritmo, representação ou fluxo — e escolhe entre contrato puro e molde com estado.
O quarto mede se tudo no arquivo muda pelo mesmo motivo e se o módulo vizinho só recebe parâmetros e resultados.
Nomear um passo e substituí-lo por um rascunho mais concreto está em Desenvolvimento Descendente e Refinamento Stepwise. Distinguir se some o algoritmo, a representação ou o fluxo está em Interfaces e Classes Abstratas.
Campo privado, getter e modificador de acesso estão em Encapsulamento. Decidir se as peças mudam pelo mesmo motivo, e se um módulo altera o interior do outro, está em Coesão e Acoplamento.
O conjunto exportado do arquivo está em Coesão e Acoplamento. O contrato de tipo — só assinaturas versus molde com estado — está em Interfaces e Classes Abstratas.
Ocultar o campo de uma classe está em Encapsulamento. Fazer várias classes trocáveis sob o mesmo contrato está em Interfaces e Classes Abstratas.
Páginas deste tópico
Desenvolvimento Descendente e Refinamento Stepwise
ProMédia incidência no POSCOMP7 min de leitura · 20ª mais cobrada em Linguagens de Programação
Metodologia de desenvolvimento de programas: decomposição top-down, refinamento stepwise e abstração de processo versus dados.
Encapsulamento
ProMédia incidência no POSCOMP2 min de leitura · 14ª mais cobrada em Linguagens de Programação
Ocultação de informação: campos privados, getters e modificadores de acesso.
Interfaces e Classes Abstratas
ProMédia incidência no POSCOMP8 min de leitura · 12ª mais cobrada em Linguagens de Programação
Abstração de processo, dados e controle; interface versus classe abstrata.
Coesão e Acoplamento
ProBaixa incidência no POSCOMP7 min de leitura · 23ª mais cobrada em Linguagens de Programação
Alta coesão e baixo acoplamento; ocultação de informação só como lembrete.