Orientação a objetos em JavaScript, o básico

javascript_oop1

Mais um “capítulo” da série dos pequenos guias sobre orientação a objetos em linguagens de programação e, desta vez, com a inclusão do Javascript¹. Ela é uma linguagem interpretada com orientação a objetos nativa e criada pela Netscape em 1995 para prover a execução de código no lado do cliente² dentro do navegador web homônimo da empresa.

Mais recentemente, com o advento do Node.js, passou a executar código no lado do servidor também! 🙂

E o mínimo necessário em JavaScript para se trabalhar com objetos é o seguinte…

(¹) Ou melhor ECMAScript que é o nome da especificação, enquanto que JavaScript é sua a implementação mais conhecida, uma outra é o JScript usada pelo Internet Explorer.

(²) Eu sei que dentro do navegador só pode ser do lado do cliente mas é bom dar ênfase ao fato, ok?

Continuar lendo

Anúncios

Orientação a “objetos” em assembly Z80

oop_z80-abertura

Esta ideia surgiu enquanto pensava em formas de implementar o “herói” e as demais “caixas” (ou inimigos) no Survive sem transformar o programa em uma “maçaroca” de código. Mas seria possível utilizar o tal paradigma de orientação a objetos diretamente em assembly E, caso possível, seria prático, funcional ou uma mera curiosidade?

A primeira pergunta foi fácil de responder, me lembrava vagamente de um livro¹ sobre o assunto e numa busca rápida encontrei um artigo da Dr. Dobbs de março de 1990 que me ajudou a visualizar como poderia ser feito e uma (re)leitura da documentação do Pasmo indicou como fazê-lo.

Quanto a funcionalidade, vejamos se consigo ser convincente… 🙂

(¹) Em tempo, o Object-Oriented Assembly Language escrito por Len Dorfman e publicado pela Windcrest em 1990. Foi publicado no Brasil pela Makron Books sob o título de Linguagem Assembler Orientada para Objetos no ano de 1992.

Continuar lendo

Orientação a objetos em Ruby, o básico

ruby_oop

Acreditava já ter escrito isto mas procurei e descobri justamente o contrário. Então, vamos lá. Diferente da versão 5 do Perl e do PHP a linguagem Ruby já foi criada com o paradigma da orientação a objetos implementado o que afeta diretamente a estrutura da linguagem, o modo como trabalhamos com variáveis etc.

E assim, tal qual fiz com Perl (versão 5, ainda não brinquei com rakudo) e PHP, o mínimo necessário para se trabalhar com classes de objetos em Ruby é mais ou menos isto…

Continuar lendo

Um pouco mais de Ruby

Lembram da orientação a objetos em Perl? Lembram do método AUTOLOAD e de eu ter comentado sobre ser específico desta linguagem? Pois é, não é assim tão específico quanto a documentação me fez acreditar. Assim como acontece com o unless, o Ruby também tem algo parecido. Chama-se method_missing e funciona mais ou menos assim:

Claro que é possível fazer a linguagem construir dinamicamente o método ausente utilizando define_method mas daí já é enveredar muito nos caminhos da meta programação.

Orientação a objetos em PHP, o básico

php_oop

Já que resolvi montar um guia para o Perl, acredito que não vá custar muito fazer o mesmo com PHP e outras linguagens. No final até ficam como uma boa referência no caso de (eu ou mais alguém) precisar fazer uma consulta rápida.

Ao contrário do que acontece no Perl em que as coisas parecem estar “amarradas” para funcionar daquele jeito, em PHP tudo parece mais ajeitado na parte da orientação a objetos e tendo até palavras reservadas e todo o resto para utilizar.

Então, o roteiro com o mínimo que você precisa saber/fazer em PHP é mais ou menos assim…

Continuar lendo