Entendendo orientação a objetos, parte 1

Hoje venho iniciar uma série para demonstrar o conceito de orientação a objetos dentro do mundo da programação. A POO (Programação Orientada a Objetos) foi implementanda a fim de suprir algumas deficiências do principal modelo anterior, a programação estruturada. Atualmente temos as linguagens C++ e Java como sendo as mais conhecidas no mundo da POO, entre outras que estão ganhando cada vez mais força, como python, ruby e scala, por exemplo, neste artigo teremos uma pequena direcionalização ao Java, porém todos os conceitos aqui apresentados podem ser facilmente adaptados a qualquer linguagem de programação que utilize POO.

Para começarmos com o conceito de POO vamos fazer uma pequena analogia entre programação estruturada e POO, na programação estruturada criamos nossos algoritmos no estilo “passos para executar uma receita de bolo”, você descreve passo a passo todas as operações que devem ser realizadas até que o bolo esteja pronto, já no estilo POO nós temos um paradigma um pouco mais completo, ainda considerando o exemplo do bolo, na POO teríamos um conjunto de objetos que podem ou não ter uma capacidade de executar tarefas, e com a reunião de todos os objetos conseguiríamos preparar o bolo.

A primeira coisa a qual precisa ser desmistificada na POO é o conceito de classe. Explicando da forma mais simples possível uma classe é um conjunto de atributos e métodos, mas o que são atributos e métodos? Os atributos de uma classe são as características que esta pode assumir, suas personificações. Os métodos são semelhantes às funções comuns que estamos acostumados na programação estruturada, com a diferença que os métodos são funções particulares de cada classe, ou seja, um método é uma operação que determinada classe é capaz de executar.

Vamos pensar em exemplos para facilitar o compreendimento do que é uma classe. Podemos assumir no mundo da POO que uma pessoa é uma classe, se uma pessoa é uma classe e que esta classe tem alguma utilidade então esta deve possuir pelo menos um atributo ou um método, vamos analisar o que pode ser atributo e o que pode ser método na classe pessoa. Vamos pensar, quais são as caraterísticas de uma pessoa? Tente descrever as características de você mesmo: meio alto, magro, cabelos pretos, inteligente, rápido, todas estas características são consideradas atributos de uma pessoa, então temos, neste caso, que pessoa é uma classe, e se esta pessoa possui as características descritas anteriormente podemos assumir que estas características são os atributos da classe pessoa. E o que seria os métodos de uma classe? Um método seria a capacidade que esta classe tem de interagir com o seu ambiente. Voltamos a classe pessoa, quais seriam as capacidades de uma pessoa interagir com o seu ambiente? Falar, andar, pular, gesticular, etc.

OBS.: Em geral, os métodos são as ações de uma classe, ou seja, métodos no mundo da gramática são os verbos, por exemplo: conversar, andar, pular, tocar, etc. Os atributos poderiam ser considerados os adjetivos, por exemplo: feio, fraco, chato, lerdo, etc.

É muito importante conseguir identificiar o que pode ser uma classe e conseqüentemente seus atributos e seus métodos. Um exercício muito indicado é procurar “coisas” na natureza e fazê-las como classe, a partir daí identificar seus atributos, exemplo: Caixa de som, animal, carro, árvore, computador, etc.

7 thoughts on “Entendendo orientação a objetos, parte 1

  1. Muito bom, e bem didático, estou lendo sobre o assunto em outros blog, mas o pessoal costumar usar uma linguagem muito formal pra explicar algo que não entendo….

    Parabéns

Comments are closed.