O que é a programação orientada a objetos
05/02/2012 19:47
Com a POO temos que aprender a pensar as coisas de uma maneira distinta, para escrever nossos programas em termos de objetos, propriedades, métodos e outras coisas que veremos rapidamente para esclarecer conceitos e dar uma pequena base que permita soltarmos um pouco com este tipo de programação.
A programação Orientada a objetos (POO) é uma forma especial de programar, mais próximo de como expressaríamos as coisas na vida real do que outros tipos de programação.
Motivação
Como se pensa em objetos
Então em um esquema POO o carro seria o objeto, as propriedades seriam as características como a cor ou o modelo e os métodos seriam as funcionalidades associadas como andar ou parar.
Por dar outro exemplo, vamos ver como faríamos um modelo em um esquema POO de uma fração, ou seja, essa estrutura matemática que tem um numerador e um denominador que divide ao numerador, por exemplo, 3/2.
A fração será o objeto e terá duas propriedades, o numerador e o denominador. Logo, poderia ter vários métodos como simplificar, somar com outra fração ou número, subtrair com outra fração, etc.
Estes objetos poderão ser utilizados nos programas, por exemplo, em um programa de matemáticas seria feito o uso de objetos fração e em um programa que providencie uma oficina de carros, seria utilizado o uso de objeto carro. Os programas Orientados a objetos utilizam muitos objetos para realizar as ações que se desejam realizar e eles mesmos também são objetos. Ou seja, a oficina de carros será um objeto que utilizará objetos carro, ferramenta, mecânico, trocas, etc.
Classes em POO
As classes são declarações de objetos, também se poderiam definir como abstrações de objetos. Isto quer dizer que a definição de um objeto é a classe. Quando programamos um objeto e definimos suas características e funcionalidades na verdade o que estamos fazendo é programar uma classe. Nos exemplos anteriores, na verdade falávamos das classes carro ou fração porque somente estivemos definindo, embora por alto, suas formas.
Propriedades em classes
As propriedades ou atributos são as características dos objetos. Quando definimos uma propriedade normalmente especificamos seu nome e seu tipo. Podemos ter a idéia de que as propriedades são algo assim como as variáveis onde armazenamos os dados relacionados com os objetos.
Métodos nas classes
São as funcionalidades associadas aos objetos. Quando estamos programando as classes as chamamos de métodos. Os métodos são como funções que estão associadas a um objeto.
Objetos em POO
Os objetos são exemplares de uma classe qualquer. Quando criamos um exemplar temos que especificar a classe a partir da qual se criará. Esta ação de criar um objeto a partir de uma classe se chama instance (que significa em inglês exemplificar). Por exemplo, um objeto da classe fração é por exemplo, 3/5. O conceito ou definição de fração seria a classe, mas quando já estávamos falando de uma fração em concreto 4/7, 8/1000 ou qualquer outra a chamamos de objeto.
Para criar um objeto temos que escrever uma instrução especial que possa ser distinta dependendo da linguagem de programação que se empregue, mas será algo parecido a isto.
meuCarro = new Carro()
Com a palavra new especificamos que se tem que criar uma instance da classe que continua a seguir. Dentro dos parênteses poderíamos colocar parâmetros com os quais se inicia o objeto da classe carro.
Estados em objetos
Quando temos um objeto suas propriedades tomam valores. Por exemplo, quando temos um carro a propriedade cor tomará um valor em concreto, como por exemplo, vermelho, cinza. O valor concreto de uma propriedade de um objeto se chama estado.
Para acessar a um estado de um objeto para ver seu valor ou mudá-lo se utiliza o operador ponto.
meuCarro.cor = vermelho
O objeto é meuCarro, logo colocamos o operador ponto e por último o nome da propriedade a qual desejamos acessar. Neste exemplo, estamos mudando o valor do estado da propriedade do objeto a vermelho com uma simples atribuição.
Mensagens em objetos
Uma mensagem em um objeto é a ação de efetuar uma chamada a um método. Por exemplo, quando dizemos a um objeto carro para andar, estamos lhe passando a mensagem "ande".
Para mandar mensagens aos objetos utilizamos o operador ponto, seguido do método que desejamos utilizar.
meuCarro.andar()
Neste exemplo, passamos a mensagem andar(). Deve-se colocar parênteses assim como com qualquer chamada a uma função, dentro iriam os parâmetros.
Outras coisas
Ainda há muito o que conhecer da POO já que somente fizemos referência às coisas mais básicas. Também existem mecanismos como a herança e o polimorfismo que são umas das possibilidades mais potentes da POO.
A herança serve para criar objetos que incorporem propriedades e métodos de outros objetos. Assim, poderemos construir uns objetos a partir de outros sem ter que reescrevê-lo todo.
O polimorfismo serve para que não tenhamos que nos preocupar sobre o que estamos trabalhando, e abstrairmos para definir um código que seja compatível com objetos de vários tipos.
São conceitos avançados que custa explicar nas linhas deste artigo. Não se deve esquecer que existem livros inteiros dedicados à POO e aqui só pretendemos dar uma idéia a algumas coisas para que os lembrem quando tenham que estar diante delas nas linguagens de programação que deve conhecer um programador do web.
Retirado de: https://www.criarweb.com/artigos/215.php
Fortaleza 03, de Fevereiro de 2012
———
Voltar