Classes

<< 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.

Esta página foi útil?