Você está aqui: Python ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar construtores em suas classes Python - Programação Orientada a Objetos em PythonQuantidade de visualizações: 805 vezes |
Quando estamos usando programação orientada a objetos em Python, é comum gerarmos métodos construtores para nossas classes. Tais métodos são usados para instanciar os objetos de uma classe, fornecendo, em geral, os valores para a inicialização de suas variáveis de instância. Os construtores das classes Python são criados a partir do método __init__(), que é chamado todas as vezes que uma nova instância da classe é criada. O construtor padrão de uma classe é um método simples e que não aceita nenhum argumento. Este tipo de construtor possui apenas um parâmetro, que é uma referência à instância que está sendo construída. Veja o trecho de código a seguir para melhor entendimento: # definição da classe Produto class Produto: # método construtor padrão sem argumentos def __init__(self): self.categoria = "Alimentos" # um método para exibir o nome da categoria def exibir_categoria(self): print("Nome da categoria: {0}".format(self.categoria)) # método principal def main(): # vamos criar um novo objeto da classe Produto p = Produto() # vamos chamar o método que exibe o nome da categoria p.exibir_categoria() if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Nome da categoria: Alimentos Note que este exemplo não é muito útil, já que todos os produtos terão o mesmo nome de categoria. Entra em cena o construtor parametrizado. Um construtor parametrizado é aquele que permite a passagem de argumentos, além da referência à instância sendo criada. Dessa forma, os valores fornecidos ao construtor poderão ser usados na inicialização das variáveis de instância, tornando-as únicas para cada um dos objetos criados. Veja o exemplo a seguir: # definição da classe Produto class Produto: # método construtor padrão sem argumentos def __init__(self, categoria): self.categoria = categoria # um método para exibir o nome da categoria def exibir_categoria(self): print("Nome da categoria: {0}".format(self.categoria)) # método principal def main(): # vamos criar dois novos objetos da classe Produto p1 = Produto("Alimentos") p2 = Produto("Vestuário") # vamos chamar o método que exibe o nome da categoria p1.exibir_categoria() p2.exibir_categoria() if __name__== "__main__": main() Ao executar este novo código Python nós teremos o seguinte resultado: Nome da categoria: Alimentos Nome da categoria: Vestuário Agora a nossa classe está mais completa, visto que cada instância possui o seu próprio valor para a variável categoria. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
JavaScript - Como converter uma string para letras minúsculas em JavaScript usando a função toLowerCase() do objeto String |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |