O Zen e a arte cavalheiresca da programação orientada a objeto

Meninos e meninas, Danilo Medeiros está de volta:

O Zen e a arte cavalheiresca da programação orientada a objeto.

Putzgrilo! Muito, muito bom! Leitura altamente instrutiva para os iniciantes nessa arte insana e apaixonante. Se você está começando a programar agora, não deixe de acompanhar Danilo e seus gnomos.

E terrivelmente divertida e nostálgica para nós que já vivemos isso há algum tempo.

Por falar em OO, alguém me perguntou esses dias sobre como criar classes abstratas no Python. Minha resposta foi: “para quê?”

Pois é, o Python não tem classes abstratas, assim como uma porção de outras coisas consideradas essenciais por quem programa em outras linguagens, como tipos estáticos ou variáveis realmente privadas. Eu também fiquei muito assustado quando descobri isso, é normal. Mas, com o tempo, fui percebendo que isso é uma vantagem, e não uma desvantagem do Python[bb]. É uma linguagem que nunca te diz que você não pode fazer alguma coisa.

Assim, eu não modifico externamente minhas variáveis privadas, não porque eu não possa fazê-lo, mas porque eu não acho que seja bom. E se, para alguma solução específica, eu precisar fazê-lo, o Python não vai me dizer que não posso. Assim, para criar uma classe abstrata, eu faria:

class Automovel:
def acelerar():
self.velocidadeatual+=self.aceleracao
print "Acelerando. A velocidade atual agora é de %i km/h" % self.velocidadeatual

Está certo, se você vem de Java[bb], por exemplo, isso pode parecer muito inseguro. Isso é coisa da sua cabeça, acredite. Mas, se você não quiser acreditar, então pode tentar um truque como o dessa página (Procure por “abstract”) ou isso aqui.

Publicado por

Elcio

Elcio é sócio fundador da Visie Padrões Web. Pioneiro no uso e divulgação dos padrões do W3C no Brasil, Elcio já treinou equipes de dezenas de empresas como Globo.com, Terra, Petrobras, iG e Locaweb. Além disso, tem dirigido as equipes da Visie no desenvolvimento de projetos web para marcas como Brastemp, Itaú Unibanco, Johnson & Johnson e Rede Globo.

4 comentários em “O Zen e a arte cavalheiresca da programação orientada a objeto”

  1. Eu também me senti inseguro no início com Python.
    Um certo frio na barriga e mal estar. Era estranho trabalhar sem variáveis protegidas, ou interfaces, mas de fato, pra que isso?
    Agora estou brincando com Python e Django, bem legal.

  2. Olá, Elcio! Como vai? Estive lendo um tutorial que vc escreveu sobre Ajax e no tutorial vc pediu sugestões. Assim sendo, venho lhe pedir que deixe claro no tutorial onde cada código tem que estar, pois eu criei o “index.php” e o “funcoes.php”, mas quando abro o index, recebo uma mensagem informando que há um erro no arquivo “funcoes.php”, na linha 11. Eu sou totalmente iniciante e por isso tenho que ter as coisas mais claras. Ainda assim, agradeço muito pelo tutorial, pois já serviu para eu ter uma noção sobre Ajax. Obrigado desde já!

  3. Estou me aventurando no Python agora, e ontem tive uma grande conquista na empresa que trabalho.
    Aqui só usamos .Net e ASP 3.0, e consegui convencer meu gerente que Python é muito bom, simples e fácilde usar. Então iremos desenvolver um projeto interno utilizando Python para ver se ele é tudo isso que o pessoal têm falado mesmo, e se for temos grande chances de adotá-lo com linguagem principal da empresa.

    Abraços,

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *