Onde foi “orientado a objetos” programação obter o nome de?

Orientado a Objeto

não é apenas um chavão aleatório que você ouve nos círculos de programação. Há uma razão por trás do nome - mas o quê? Junte-me como eu explorar alguns dos fundamentos de conceitos de programação e explicar o porquê programação orientada a objeto impulsiona a tecnologia por trás de qualquer software moderno e contraste para programação baseada processual e Logic.

História da programação procedural

Quando os computadores foram inventados, eles precisavam ser programado de forma explícita com instruções simples - e “software” era simplesmente uma coleção desses comandos extremamente simples amarrados juntos que seria executado em sequência.

Video: Programação em C - Aula 7 - Variáveis I - Características da Variáveis - eXcript

programação orientada a objeto

Inicialmente, estes código de máquina necessário para ser escrito - mover este “bit” a partir desta memória a este local, e executar uma lógica “e” operação nele com este bit, etc - mas logo estes foram abstraídas para um nível superior usando BASIC.

arquitetura de software orientado a objeto

Eu suspeito que a maioria de vocês já se deparou com BASIC (Iniciantes All-Purpose código de instrução simbólica) na escola. É um exemplo perfeito de uma linguagem de programação procedural. Até a minha primeira incursão programação estava usando BASIC em um Amstrad CPC-64. Cada linha começa com um número de linha, seguido por uma simples instrução em linguagem legível.

Desde linguagens procedurais seguir os comandos um após o outro, é geralmente fácil para os seres humanos para acompanhar o que está acontecendo no programa. No entanto, também é difícil fazer qualquer coisa além de um exercício de aprendizagem simples - o que nos leva para a criação de Programação Orientada a Objetos.

Orientado a Objeto?

Com uma programação orientada para o objecto, a ideia é o grupo de variáveis ​​e funcionalidades relacionados entre si para um objecto, o que representa algum tipo de estrutura de dados complexos. Esse objeto pode ser reutilizado várias vezes, ou estendido para ser algo ainda mais complexo.

Por exemplo, um jogo pode ter um objeto jogador. Cada objeto jogador no jogo representa um único jogador na vida real, único no nosso jogo multiplayer online imaginário. Cada objeto jogador tem um apelido, localização atual, um inventário, e uma taxa de movimento. Mesmo que cada jogador é único, nós ainda queremos que eles compartilham a mesma funcionalidade em nível de base. Cada jogador pode ter um mover função, o que faz com que o jogador a mover para a frente X número de quadrados. Cada jogador pode ter uma taxa de movimento diferente, mas quando dizemos o jogador a se mover em um comando, ele vai saber como reagir de acordo com sua própria mecânica da Internet.



Por isso é útil? Tomando um exemplo mais real-vida - porque interfaces gráficas modernas seria impossível sem objetos - todos os sistemas operacionais fornecer um objeto Window. É, portanto, fácil de ter uma nova “janela” completo com botões de fechar e em tela cheia, e a capacidade de ser movimentados - sem ter que programar isso sozinho. Tudo que você precisa fazer é dizer criar uma janela.

Na verdade, o software moderno consiste em milhares e milhares de objetos - não apenas janelas, mas botões e campos de formulário e caixas de alerta também (que são eles próprios um tipo especial de objeto de janela) - e é apenas a forma como são organizados e a lógica de interação entre eles que torna este software diferente dos outros. Isso significa que os programadores e designers de software é livre para se concentrar em fazer a mecânica do núcleo de seu programa sem ter que re-inventar a roda de cada vez.

programação orientada a objeto

concepção orientada objeto Outra vantagem é que a funcionalidade é separada e invisível para o outro. Então, quando o jogador pressiona a tecla de avanço no nosso jogo, ele chamadas a função de movimento no objeto jogador. Se fizermos uma pequena alteração como esse movimento é precisamente realizada dentro do objeto jogador - como saltar em vez de andar - então não precisa ajustar o teclado-ouvinte. Ele ainda chama de “movimento” independentemente do que acontece internamente no objeto jogador - para que possamos mudar a funcionalidade sem quebrar tudo o resto.

O mesmo é verdade em sistemas operacionais - se o usuário de repente decide mudar sua cor janela para vermelho, então você não precisa para detectar isso e fazer a janela muito vermelha - está tudo embutido no objeto janela.

Video: Programação em C - Aula 4 - Hello World - eXcript

Herança

Uma vez que temos objetos, também podemos estender e herdá-los para produzir objetos mais úteis com comportamento diferente ou funcionalidades adicionais. Você posso re-inventar a roda - se você quiser. No nosso exemplo jogador, talvez nós queremos criar um objeto de “superman”. Superman ainda é um jogador, o mesmo que todos os outros - ele quer um apelido também, e quer coletados nos mesmos quadros de líderes jogador - mas em vez da ação de movimento padrão que caminha os espaços jogador objeto X para a frente, nós queremos que ele voar em vez - que se deslocam 10 quadrados de uma vez por cima de quaisquer objetos no caminho. Ao estender o objeto básico jogador que pode “herdar” tudo aquilo funcionalidade útil sem ter que reescrever tudo de novo - mas nós ainda pode “substituir” a função de movimento com o nosso super-homem especial movimento voando!

Video: Programar em Java - Variável de Instância e Classe - Aula 45

programação orientada a objeto é uma revelação absoluta, se você só tinha já experimentou programação procedural, e eu pessoalmente acho que é uma pena que que um simples tipo de linguagem OOP não é ensinado na escola secundária.

Uma última coisa: Linguagens de Programação Baseada em Lógica

Estes são de particular interesse para mim, como eles são geralmente mais útil para qualquer coisa relacionada à Inteligência Artificial. linguagens de programação baseadas em lógica, como o Prolog, não use comandos e instruções no sentido tradicional. Em vez disso, eles vão resolver um problema dado um conjunto de regras e condições.

Pense em um jantar que você está hospedando para a sua família. Sua tia não pode sentar-se ao lado de seu tio, porque eles vão argue- você não quer dois filhos sentados juntos, porque eles vão ser pouco rascals- você certamente não quer sentar-se no meio de dois filhos. É isso aí - que é o seu programa Prolog escrito. Agora é só dar-lhe uma lista de crianças e adultos que vêm para a festa, e ele vai produzir uma lista de possíveis sugestões de assento!

Espero que tenham gostado desta introdução nível iniciante ao conceitos de programação. Me desculpe, eu não poderia entrar em mais detalhes e, claro, há um milhão de coisas que eu não toquei em cima. Se você gostaria de saber mais, deixe-me saber nos comentários. Talvez pudéssemos fazer uma série de tutoriais de programação orientada a objeto iniciante para vários idiomas, se houver interesse suficiente? Certifique-se de verificar a nossa arquivos relacionados programação também, com várias ferramentas e sites de programação.


Artigos relacionados