Orientação a Objetos: Q raios é isso!? (parte 1)
Hoje eu vou falar do paradigma de programação que escolhemos para fazer o Jogo, a Orientação a Objetos. Ela começou lá pela década de 60 acompanhando uma tal Engenharia de Software, que falava, na época, sobre os problemas que os programadores teriam com a crescente complexidade dos programas.
Não vou entrar em detalhes avançados sobre isso ainda, mas basta saber que a Orientação a Objetos foi criada para simplificar o desenvolvimento de grandes programas, tornando o código muito mais fácil de entender e alterar o código-fonte.
Ela parte do princípio de que TUDO num programa pode funcionar como objetos no mundo real, possuindo suas características, operações e relacionamentos com outros objetos.
- Classe
Tudo que temos num programa Orientado a Objetos vem de uma ou várias classes, sendo uma espécie de fôrma na qual as coisas são moldadas. Uma classe deve ser sempre genérica, possuindo todas as características daquilo que ela representa.
Pensemos em um BLOG. Ele tem um template, um nome, assunto e dono, certo? Essas características são os atributos da classe BLOG: substantivos que separam um BLOG de um PROCESSADOR DE ALIMENTOS. As ações do BLOGGER, como “exibir artigo”, “atualizar artigo”, “mudar de template” ou “editar html” são o que chamamos de métodos. Essa classe então, ficaria assim:
- Objeto
Um objeto nada mais é que um indivíduo feito numa classe. “Mas hein?”, você me diz. Bom, voltemos ao exemplo anterior do BLOG. Todos vocês sabem que existem trocentos blogs perdidos pela internet. Todos eles são blogs, mas possuem características diferentes entre si: cada um possui um nome diferente, com templates e donos variados. O Nuss... E Agora?!? é diferente do Vovó viu a Rede em diversos aspectos, porém ambos são iguais em uma coisa: são BLOGS.
“Ser um BLOG” é o mesmo que ser um Objeto, Instância ou Ocorrência da classe BLOG.
Utilizando o gancho desse exemplo, objetos são diversas instâncias ou ocorrências (diversos blogs na internet) de uma mesma classe (BLOG), dividindo atributos iguais (Nome, Dono), mas sendo diferentes no valor desses atributos (Vovó viu a Rede, Mário Marinato; Nuss... E agora?!?, Tiago Frossard).
- Mensagem
“Joaozinho, vai lá na sala e pega o aspirador de pó, meu filho” ... “Toma, mãe, tá aqui”. Pronto, você acaba de entender o conceito de mensagem.
Mensagem nada mais é que um Objeto pedindo para que o outro faça alguma coisa pra ele. Se a mãe está ocupada fazendo muitas coisas, por quê não delegar à outra pessoa a responsabilidade de ir buscar o aspirador de pó?
Bom gente, esse é o básico do básico. Nos próximos artigos eu vou falar sobre herança, encapsulamento e outras coisas um pouco mais avançadas. Então pessoal, até lá!
[EDIT] Seguem os links para a Parte 2 e a Parte 3 do artigo!
agosto 18th, 2007 - 00:56
Adorei a matéria. ^.^Tem um porem nisso tudo.Eu venho estudando alguns livros e tutorias pela nete pelo que eu li (não tenho como cita referencias por não lembro “X(” ) A programação orientada a objetos veio em meados da década de 80, com os primeiros computadores de interface (Aple).Não sei se estou enganado.Mas o resto ta excelente parabéns.
agosto 18th, 2007 - 01:16
Bom, o Simula é tido por alguns como a primeira a introduzir os conceitos de orientação a objetos, como Objeto, Método Virtual, Classe e alguns outros. Dessa forma, toma-se a década como início do paradigma. Mais tarde, lá prá 70, o Smalltalk surgiu como a primeira linguagem caracterizada “Orientada a Objetos”. Levando em conta que o Smalltalk-80 foi liberado para algumas companhias (entre elas, a Apple), eu acho q respondo a tua dúvida.
agosto 18th, 2007 - 01:20
Agora sim ta tudo explicado…
agosto 19th, 2007 - 22:44
Bela iniciativa, Tiago!Estarei sempre por aqui, prestigiando o blog.Abração!
setembro 1st, 2007 - 18:35
Caralho, parece que tão explicando pra retardado.