A principal dificuldade para muitos programadores que não migraram para o paradigma orientados a objetos é entender como trabalham as classes e seus objetos. Simplificando ao máximo o paradigma estruturado nós temos variáveis, funções e arquivos. Os programadores mais organizados no paradigma estruturado criam uma série de bibliotecas e tentam sempre que possível identificar comportamento padrão ou código comum separando-os em funções (sabemos que vai muito além disso).
No paradigma Orientado a Objetos nós temos a programação muito mais próxima da realidade, e a visão de cada classe indica para um elemento o que realmente é importante para o programa. Para deixar mais claro esta visão vamos exemplificar: no mundo OO (Orientado a Objetos) temos por exemplo a figura do cliente, que está presente em vários sistemas comerciais. A quantidade de informações que será necessária para o cliente dependerá muito do tipo de negócio. Em uma empresa que faz empréstimos para o Cliente a quantidade de informações será muito maior que para uma locadora de vídeo ou um restaurante. A classe no paradigma OO representa coletivamente objetos, coisas que possuem propriedades/informações em comum. A classe Cliente não está indicando o cliente de José especificamente, mas sim todos os clientes de um determinado negócio ou sistema. José pegou um empréstimo em uma financeira e passou uma série específicas de informações que pertencem a ele como pessoa, como CPF, endereço, telefone e contracheque. Sendo assim, José é um objeto dentro da Orientação a Objetos.
Resumindo, a classe é a descrição de um grupo de objetos com propriedades similares (atributos), comportamento comum(operações) , relacionamentos com outros objetos e semânticas idênticas e o objeto é um conceito, abstração, ou entidade com limites bem definidos e um significado para a aplicação. (http://www.ufpa.br/cdesouza/teaching/es/3-OO-concepts.pdf)
O primeiro passo quando começa a programação Java é identificar quais elementos/coisas são importantes para o sistema que será desenvolvido, por exemplo, o elemento paciente não é importante em um sistema de locadoras, e em seguida para cada elemento é necessário descobrir quais são as propriedades/informações relevantes para o sistema em questão. Em um sistema de Vídeo Locadora temos o Cliente/Locatário, temos o DVD/Blu-ray e outros elementos. O que é importante saber do Locatário? O que é importante saber do DVD/Blu-ray? Estas são as perguntas chaves para desenvolver o sistema. Saber por exemplo qual é o número do calçado do cliente na vídeo locadora é irrelevante, mas em uma loja de sapatos não.
Estes elementos identificados serão nossas classes e as suas propriedades e informações relevantes serão nossos atributos. Aliás, atributo é outro conceito importante no mundo OO. Os atributos são na verdade as características importantes das nossas classes. Quando preenchemos todos estes atributos para uma classe temos o nosso objeto. De forma semelhante ao citado acima, temos o Locatário que representa todos os locatários e temos o José X Y Z que mora no Local W e tem o telefone 999 que é um objeto da classe Locatário.
Espero ter ajudado a compreender um pouco sobre o paradigma OO. Sem este conceito é muito complicado programar em JAVA.
Grato
Pablo
Nenhum comentário:
Postar um comentário