Conceito
A Programação Orientada a Objetos, comummente designada pela sigla POO, não se trata de uma linguagem propriamente dita, mas sim de um paradigma de programação. Neste paradigma de programação são criados objetos que serão responsáveis pela interpretação e manipulação de dados que o programador ou o utilizador (em tempo de execução) insiram.
Atualmente quase todas as linguagens de programação que se baseiam neste tipo de programação disponibilizam uma série de objetos agrupados em bibliotecas a fim de serem utilizados na escrita de código. Não obstante a maioria destas linguagens permitem ainda aos seus programadores desenvolverem bibliotecas para serem utilizadas por outros programadores ao redor de todo o mundo.
História
Foi na década de oitenta que a Programação Orientada a Objetos se popularizou e começou a ganhar mais adeptos, em parte esta popularidade deve-se ao facto da tamanha influencia da linguagem C++ nessa década. Uma vez que este tipo de programação está particularmente bem adaptada para trabalhar a par das interfaces gráficas, a procura de computadores com este tipo de interfaces na década de oitenta e noventa ajudou ainda mais à propagação deste paradigma.
Neste tipo de programação destacam-se alguns conceitos base essenciais não só para a sua implementação, mas também para a sua compreensão.
Classe e Subclasse
As classes são a base de todo o paradigma da Programação Orientada a Objetos. De uma forma sintetizada uma classe representa um tipo de objetos que mais tarde serão criados. Na sua composição têm diversos atributos e método. A par das classes existem as subclasses que não são mais do que uma classe que herda a totalidade das características de outra classe.
Exemplo:
- Animal -> Classe
- Cão -> Sub Classe
Objetos ou Instancias
Os objetos ou instâncias são criações concretas de uma classe ou subclasse, estes farão uso de todos os atributos declarados na classe assim como conseguirão executar os métodos implementados na classe,
Exemplo:
- Snoopy -> Objeto da classe Cão
Atributo
De uma forma geral os atributos são as características que os objetos podem ter, ou seja são os valores (contáveis e não contáveis) que podem ser atribuídos a uma concretização de uma classe.
Exemplo:
- O Snoopy tem olhos azuis -> azul é o valor do atributo “cor dos olhos” do objeto Snoopy
- O Snoopy tem 3 anos -> 3 é o valor do atributo “idade” do objeto Snoopy
Método
Os métodos são responsáveis por todo o comportamento de um objeto, podendo desencadear ações ou alterações de valores dos atributos. Estes são implementados aquando da criação da classe à qual pertencem, mas apenas são executados na chamada num objeto que concretiza essa mesma classe.
Exemplo:
- O Snoopy senta -> É no momento da chamada no objeto Snoopy que este se irá mexer e sentar
- Colocam uma trela verde ao Snoopy -> No momento da chamada, o valor do atributo “cor da trela” do objeto Snoopy é alterado para “verde”