Programação orientada a objetos é um conceito que varreu departamentos universitários de ciência da computação na década de 80 e com a comunidade de software de produção na década de 90 . Like " programação modular " antes e " Programação na Internet ", após isso, OOP era um assunto de algum debate . Agora , os conceitos de programação modular são universalmente aceito, e muitos dos conceitos de OOP são amplamente aceitos , embora algumas objeções ao paradigma OOP permanecem. A idéia básica do OOP
OOP , os programas de computador são a interação de " objetos". Um objeto tem " variáveis de instância " e " métodos". Os valores de registro variáveis de instância associados ao objeto . Métodos são funções que envolvem algum aspecto do objeto. Em um programa de jogo , pode haver um objeto chamado " nave espacial ", que tem variáveis de instância , como quantidade de combustível. Um método pode ser " torpedo fogo. " As naves espaciais pode pertencer a uma "classe" de objetos chamados de " objetos em movimento. " Asteroids também pertencem a esta classe. A execução do programa é composto dos objetos que enviam "mensagens" para o outro.
As vantagens de OOP
A primeira vantagem do conceito de objetos é que todo o código que tem nada a ver com naves espaciais estão localizados em um só lugar. Outra vantagem é que os objetos podem possuir atributos inerentes da classe a que pertencem , por exemplo, naves espaciais e asteróides tanto pode ter uma posição XY , porque todos os objetos que pertencem a classe de objetos que se movem têm uma posição XY. Escrever código é mais fácil , porque você pode conceituá-la como algo que acontece a um objeto. Outra vantagem é que OOP faz grandes programas mais gerenciável. Se todas as janelas pertencem a uma hierarquia de classes janelas e todo o código que se refere a uma determinada janela é com esse objeto janela, todas as manipulações de janelas pode ser escrito como a transferência de mensagens simples .
< Br > as desvantagens de OOP
Nem todos os programas podem ser modelados com precisão pelo modelo de objetos. Se você só quer ler em alguns dados, fazer algo simples para ele e escrevê-lo de volta para fora , você não tem necessidade de definir classes e objetos. No entanto, em algumas linguagens OOP , você pode ter de executar este passo extra. Outra desvantagem é que, se você forçar a língua para o conceito de OOP , você perde algumas das características de línguas úteis, como as " linguagens funcionais . " Outra desvantagem é que o conceito de um programador do que constitui um objeto abstrato pode não coincidir com a visão de outro programador . Os objetos muitas vezes necessitam de uma extensa documentação .
O Futuro da OOP
O futuro da OOP , provavelmente, encontra-se com linguagens como Ruby e Lua , em que o conceito de objeto é construído em a língua e não é sempre explicitamente controlada pelo programador . Ruby, por exemplo, trata tudo como um objeto, incluindo cordas , números, o seu programa eo conteúdo do diretório em que você está dentro Você quase nunca precisa declarar qualquer coisa para ser um objeto. Você é livre para usar a linguagem da maneira que quiser : . Como OOP , como uma linguagem funcional , como uma linguagem procedural ou mesmo em formas que misturam -se as modalidades