domingo, 1 de março de 2009

De Volta Após o Carnaval!

Olá Pessoal!

Pois é, passado o carnaval, estamos de volta! Esta semana vou entrar num tema bastante interessante: orientação a objetos.

Um conceito fundamental de orientação a objetos é o conceito de classes. Uma classe é uma abstração de um modelo, incluindo dados sobre o modelo e ações que podem ser tomadas sobre este modelo.

Um exemplo clássico de classe apresentada nos cursos de programação é a classe Mamífero. Vou utilizá-la aqui também, por ser de simples entendimento.

Vamos pensar um pouco sobre um mamífero... O que os mamíferos tem em comum? Podemos citar a data de nascimento, por exemplo. Este, aliás, é um atributo comum a todos os seres vivos, não somente os mamíferos... ;-)

Então, como definimos uma classe em Python? Não poderia ser mais simples. Vejamos o exemplo abaixo:

# coding: utf-8
# mamifero.py

class Mamifero:
    def __init__(self):
        self.nascimento = '5 de julho de 1981'

mamifero = Mamifero()
print mamifero.nascimento

No código acima, definimos a classe "Mamifero" e criamos um método, que é uma função pertencente à classe, chamado "__init__". Este método é especial, servindo como inicializador. Ou seja, sempre que um objeto da classe "Mamifero" for criado, este método especial será chamado.

Um outro detalhe é a variável "self". Tal variável representa o objeto para o qual o método foi chamado. No caso do método "__init__", o self representa o objeto que está sendo criado naquele momento.

No método "__init__", criamos um atributo para o objeto, indicando a data do nascimento. Para isto, simplesmente atribuimos uma nova propriedade ao objeto "self". A sintaxe da atribuição é bem simples: objeto.atributo = valor. Tal atribuição fará com que o objeto referenciado tenha um novo atributo, ou, caso o objeto já tenha o atributo especificado, atribuirá um novo valor a ele.

Para criar um novo objeto, a sintaxe também é bem simples: novo_objeto = Classe(). E para acessar um atributo do objeto utilizamos a sintaxe: objeto.atributo. Como vocês podem notar, a linguagem Python faz com que a criação e a utilização de classes e objetos seja o mais simples possível. Eu particularmente gosto do paradigma de orientação a objetos, e aconselho sempre utilizar classes em seus programas.

Vou manter este post bem básico mesmo, apenas com esta definição de classes. Na próxima semana vou mostrar um exemplo mais elaborado da utilização destas. Até o próximo post!

Um comentário:

Anônimo disse...

valeu!

Gostei muito da sua explicação sobre classes. Sou iniciante autodidata em programação e agora começo a entender o uso de classes e do uso da "orientação a objetos" nos programas. Escolhi Python para aprender a programar e estou satisfeito.

Tenho lido todos os seus artigos.

Obrigado por compartilhar seu conhecimento com o mundo!

Sucesso!

Um abraço.

Rodrigo