<< Clique para Mostrar o Sumário >>
Classes |
As classes em Python contém todas as funcionalidades básicas definidas no paradigma de programação orientada a objetos, assemelhando-se muito com a linguagem C++, porém com muito menos código (sintaxe e semântica) se consegue definir uma classe em Python.
De maneira análoga às funções apresentadas no tópico anterior, as classes têm uma declaração padrão que as definem e todo seu conteúdo deve estar em um bloco de indentação. A sua sintaxe é a seguinte:
class Class_name:
"""
Informações sobre a classe
"""
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
def sumArgs(self):
return self.arg1 + self.arg2
Logo após os dois pontos da declaração da classe pode-se utilizar o docstring para ser utilizado como texto de ajuda e em seguida as definições da classe.
Todas as funções membros de uma classe são definidas de maneira análoga às funções em Python, ou seja, utilizando a declaração def. Quando é necessário manipular seus membros, deve-se informar como primeiro argumento a declaração self, que pode ser compreendido como um ponteiro para a própria classe (como a palavra-chave this do C++). No exemplo anterior a classe foi definida com dois membros que recebem os valores arg1 e arg2, que devem ser informados na função construtora da classe.
Na definição de uma classe não é necessário declarar a função construtora, que é sempre criada por padrão, porém é possível redefini-la. Isto é obtido através da redefinição da função __init__ (dois sublinhados antes e dois sublinhados após a palavra init), como no exemplo anterior. A função __init__, assim como outras que não são abordadas neste Tutorial, fazem parte de um conjunto de funções que toda classe em Python tem, sendo possível sobrescrevê-las para se obter o comportamento desejado.
O código a seguir cria um objeto da classe apresentada anteriormente em um ambiente com um interpretador interativo, executando-se na sequência o seu método sumArgs.
In [1]: x = Class_name(2, 3)
In [2]: print(x.sumArgs())
5
A primeira linha cria um objeto definido pela classe Class_name e o atribui à variável x. A segunda linha imprime na saída padrão o resultado da avaliação do método sumArgs definido pela classe Class_name.
Mais informações sobre a utilização de classes em Python podem ser obtidas na documentação fornecida pela Python Software Foundation ou através de inúmeros materiais disponíveis na Internet.