Orientação a objetos em Python (além do básico)

python_oop2-aberrtura

Faz um (bom) tempo que escrevi sobre orientação a objetos em Python e, como o próprio título anunciava, ele era o básico e servia como uma introdução ao assunto. Mas como básico é apenas “básico” não é suficiente para ajudar a resolver os problemas diários. É aí que o conhecimento de alguns recursos que estão disponíveis na própria linguagem acaba ajudando na resolução destes de forma simples e direta.

E assim resolvi escrever um pouco mais sobre este assunto…

Continuar lendo

Módulos em Python

modpython_1-abertura.png

Conforme um programa aumenta em funcionalidade e/ou complexidade também crescerá em tamanho e se transformando em uma longa e tediosa coleção de linhas de código de difícil manutenção. Neste caso¹ é de bom grado dividi-lo em partes menores — e deixar que a própria linguagem se encarregue de agrupar durante a execução — que o deixarão mais simples de se trabalhar, compreender e também de reutilizar seus componentes em outros projetos.

Em Python eles são chamados de módulos e são geralmente usados para expandir as capacidades da linguagem, carregar funcionalidades e, claro, também permitir que seu programa possa ser segmentado em unidades menores  e assim não virar uma tripa! 😀

(¹) Ou mesmo funcionalidades implementadas em um programa que seriam úteis em um outro mas que simplesmente copiá-la não parece das soluções mais elegantes.

Continuar lendo

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

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