-
Notifications
You must be signed in to change notification settings - Fork 1
Guia Relâmpago
Para declarar um novo objeto em Python, usa-se a palavra reservada Class seguida pelo nome da classe. Caso a classe que você está declarando herde características de uma ou mais classes já existentes, após declarar o nome da classe, entre parêntesis, você deve declarar as classes da qual ela herda características.
class Coisa():
Ou ainda:
class OutraCoisa(Coisa):
A primeira classe é uma superclasse, não herda características de nenhuma outra classe. Já a classe OutraCoisa herda características da classe Coisa, sendo então uma subclasse desta.
O momento de instanciação de uma variável é o momento em que a variável passa a existir. Se essa variável for um objeto, essa instanciação acontece através de um método especial (dunder methods, magic methods). Métodos especiais são métodos com características especificas de Python, eles são marcados por dois underlines antes e depois do nome.
O método especial que controla o momento de instanciação de uma variável é o __init__
.
class Funcionario():
def __init__ (self, nome, idade, cpf, matricula):
self.nome = nome
self.idade = idade
self.cpf = cpf
self.matricula = matricula
De acordo com o código acima, por exemplo, vemos que os parâmetros necessários para construir um objeto pertencente a classe Funcionário são nome, idade, cpf e matricula.
Note também a instanciação de variáveis dentro do método construtor a partir da palavra reservada self
. Assim como em qualquer função, as variáveis instanciadas dentro de um método (que nada mais é que uma função pertencente a um objeto) têm tempo de vida limitado ao tempo de execução da função. Logo, uma vez que o processo de execução da função esteja concluído, as variáveis e parâmetros dentro dela deixam de existir, a não ser que salvemos essas variáveis como atributos (características do objeto).
Atributos são as variáveis que fazem parte do objeto e são instanciados utilizando o termo self da seguinte forma: self.nome_do_atributo
. Dentro de qualquer método, a instanciação de um atributo "sobrevive" à execução de um método.
Além disso, fora dos métodos do objeto, os atributos podem ser acessados através do nome da instância seguido pelo nome do atributo. Por exemplo:
antonio = Funcionario("Antônio", 23, "123.456.789-00", "00123456789")
Se acessarmos antonio.nome
teremos como output >> "Antônio
.
Entenda a palavra reservada self
como uma referência a própria instância. Todos os atributos são instanciados utilizando a palavra self. Além disso, todos os métodos devem possuir self
como primeiro parâmetro, além dos seus parâmetros comuns.