Fundamentos da programação orientada a objetos

Nesta seção são apresentados os conceitos básicos que permeiam o uso das técnicas de orientação a objetos na programação, sempre utilizando a linguagem Java como motivador. Técnicas de análise e projeto de software orientado a objetos não serão aqui detalhadas. No entanto, é importante ressaltar que a execução dessas atividades é essencial para obter bons programas orientados a objetos. Há diversos processos de desenvolvimento de software orientado a objetos; veja um exemplo.

Objetos são instâncias de classes, que determinam qual informação um objeto contém e como ele pode manipulá-la. Um programa desenvolvido com uma linguagem de programação orientada a objetos manipula estruturas de dados através dos objetos da mesma forma que um programa em linguagem tradicional utiliza variáveis.

Um dos grandes diferenciais da programação orientada a objetos em relação a outros paradigmas de programação está no conceito de herança, mecanismo através do qual definições existentes podem ser facilmente estendidas. Juntamente com a herança deve ser enfatizada a importância do polimorfismo, que permite selecionar funcionalidades que um programa irá utilizar de forma dinâmica, durante sua execução.