herança

Uma análise do Filme Matrix com a orientação a objetos

Fonte: webpages.charter.net

Crédito da imagem: webpages.charter.net

Já assistiu ao filme Matrix? Se você está lendo isso é porque provavelmente sim. Matrix foi um filme que revolucionou uma época e se tornou um clássico explorando um tema complexo ao compararmos a temática das maiorias dos filmes. De tudo que você já leu, ouviu ou viu sobre ele, já observou os vários conceitos da computação que estão presentes, particularmente, da programação orientada a objetos (POO)? Parece que não, mas existem! Para mostrar isso, permitam-me “viajar” um pouco na história do filme, sua temática e personagens.

Matrix é apresentada como um programa que foi feito para manter a mente dos humanos em pleno funcionamento, de modo que fosse cumprida a nossa função como fonte de energia para as máquinas. O mundo “real” na verdade não existia, ele era apenas uma simulação criada pelo programa em que todas as mentes humanas estavam conectadas. Os primeiros conceitos de POO que podemos encontrar no filme são de quando Morpheu apresentou a Neo o que é a Matrix pelo denominado “programa de carregamento”.  Lá, dentro de um espaço vazio sem fim, ele falou e demonstrou a criação de cada coisa dentro do programa, como um sofá, roupas, televisão e.. eles próprios! Cada uma dessas coisas eram objetos instanciados de uma classe. Neo, Morpheu e cada uma das pessoas na Terra eram apenas representações (objetos) de uma classe (Humanos).

Outros conceitos importantes também foram apresentados enquanto a tripulação estava dentro da nave Nabucodonosor. Em uma das cenas, a tripulação estava comendo o que eles mesmos chamavam de “gororoba”. Mouse, um dos tripulantes, começou a discutir qual seria o real gosto do “trigo gostoso” ou mesmo de um frango, já que o gosto era simulado pelo programa. Cypher, durante a reunião com o agente Smith, também volta a questionar o assunto quando divagou sobre o sabor do carne e da atribuição “suculenta” de seu gosto. Do que estamos falando aqui? Dos atributos de uma coisa. Atributos que, nestes casos, determinavam o gosto das coisas. Ainda dentro da nave, e em uma das cenas mais legais do filme, Neo se preparava para lutar contra Morpheu em um programa de simulação de combate. Para isso, ele começou a absorver várias técnicas (métodos) de combate de forma instantânea. Que conceito seria esse? A herança, que permitiu que Neo absorvesse as técnicas de combate da classe dos mestres em artes marciais.

Muita viagem? Pois bem, para finalizar ela temos mais adiante no filme a apresentação de outros conceitos básicos do POO como o encapsulamento, as interfaces e os Bugs (este último não especificamente do POO, mas presente em todos os paradigmas).

Durante uma cena clássica do filme, vemos Neo, que esperava ser recebido pelo Oráculo, interagindo com outros candidatos a escolhidos. Um deles, especificamente, um menino que entortava uma colher diz ao Neo, que procurava realizar o mesmo: “É impossível entortar a colher, você é que deve se entortar”. Ou seja, era impossível alterar os atributos de outro objeto sem um método deste declarado para isso, pois a colher havia sido implementada com o conceito de  encapsulamento. Os atributos (a consistência, no caso) da colher eram protegidos.

Por fim, falamos sobre as interfaces dos objetos dentro da Matrix. Com uso de interfaces pode-se publicar os métodos das classes sem dar os detalhes de sua implementação.  A interação com o mundo na Matrix era explicado pelo uso dessas interfaces. Detalhes das regras do funcionamento como da gravidade e da própria morte são “invisíveis” e não podem ser alteradas. Desta forma, mesmo os agentes (que possuíam atributos altíssimos de força, agilidade e velocidade) eram sujeitos a essas regras de interação com o meio.  A única exceção a isso seria um Bug – um mau funcionamento na Matrix – representado no filme pelo próprio escolhido: Neo.

Vocês observaram outros conceitos da programação orientada a objetos ou mesmo da computação?

Esse post foi inspirado por uma aula ministrada pelo grande Cecílio Cosag Fraguas.