DEV Community

const Mel
const Mel

Posted on

Python Orientado a Objetos 1

Olá! Meu nome é Melyssa e este é meu primeiro artigo por aqui! Irei iniciar falando sobre Python Orientado a Objetos. Para ler o conteúdo abaixo é necessário já saber o básico dessa linguagem. Aceito sugestões e críticas construtivas, no futuro irei escrever sobre Python para quem irá ter o primeiro contato com a linguagem ❤️

Python Orientado a Objetos

Para trabalhar com Objetos em Python, primeiro precisamos criar uma classe que é onde vamos armazenar o bloco de código do nosso Objeto. Para criar uma classe é necessário usarmos o termo class e em seguida nomear nossa classe - seguindo o padrão CamelCase - seguido de dois pontos e depois a palavra pass que funciona como um return. Confira o código de exemplo abaixo:

class CodigoTeste:

    pass
Enter fullscreen mode Exit fullscreen mode

Depois que a classe é feita, precisamos enfim criar o objeto para ela e para isso criamos uma variável que vai armazenar a class feita. Exemplo: teste = CodigoTeste() e assim temos nosso primeiro Objeto.

Podemos criar funções dentro da nossa class para armazenar e organizar melhor nossas informações, assim com funções já existentes no Python - que são chamados de métodos construtores, como por exemplo: init(self) que é uma função normalmente utilizada para o começo dos códigos. O parâmetro self é onde vai ficar a referência do nosso Objeto.

class CodigoTeste:
    def __init__(self, nome, idade, estado):
        self.nome = nome
        self.idade = idade
        self.estado = estado
Enter fullscreen mode Exit fullscreen mode

Após feito isso apenas precisamos passar as informações dentro de nossa variável no terminal, como por exemplo: teste = CodigoTeste(’Melyssa’, 19, ‘São Paulo’) e pronto, criamos mais um Objeto!

Para acessar as informações que foram passadas dentro dos Objeto é extremamente simples, precisamos apenas chamar a variável que desejamos acessar e utilizar o ponto (.) junto do parâmetro que queremos acessar. Por exemplo: teste.nome vai retornar ‘Melyssa’.

Método privado

Caso tenhamos algum método dentro da nossa class que gostaríamos de informar e tornar privado, precisamos usar __ antes de seu nome. Assim o Dev que ver nosso código vai entender que aquele método é privado e que deve não deve ser utilizado diretamente e sim por outro método. O ideal no caso de querer modificar ou acessar uma informação privada, é criando um método get (no caso de pegar a informação) e set (no caso de modificar a informação), como por exemplo:

class CodigoTeste:
    def __init__(self, nome, idade, estado):
        self.__nome = nome
        self.__idade = idade
        self.__estado = estado

    def get_nome(self):
        return self.__nome

    def set_idade(self, idade):
        self.__idade = idade

teste = CodigoTeste('Melyssa', 19, 'SP')
teste.get_nome()
'Melyssa'
teste.set_idade(20)
Enter fullscreen mode Exit fullscreen mode

Propriedades

Também podemos usar propriedades para fazer com que “métodos” se transformem em um Objeto. Utilizamos essas propriedades em classes privadas, acessando-a e modificando algo. Como por exemplo, podemos criar uma propriedade que sempre deixe a primeira letra do nome de uma pessoa em caixa alta, evitando erros de sintaxe, para isso usamos o @property logo acima. Exemplo:

class Nome:

    def __init__(self):
        self.__nome = nome

    @property
    def nome(self):
        return self.__nome.title()

teste = Nome('melyssa')
teste.nome
'Melyssa'
Enter fullscreen mode Exit fullscreen mode

Lembrando que o nome da nossa propriedade precisa ser o mesmo nome do Objeto que desejamos alterar.

Caso queira mudar o valor do nome, também podemos utilizar uma propriedade setter, onde utilizamos a seguinte sintaxe: @(nome do atributo).setter. Assim podemos modificar os valores do nosso método desejado. Veja o código de exemplo abaixo:

@nome.setter
def nome(self, nome):
    self.__nome = nome

teste = Nome('Melyssa')
teste.nome = 'daniel'
teste.nome
'Daniel'
Enter fullscreen mode Exit fullscreen mode

Métodos da Class (static methods)

Caso queiremos programar um método onde todos os Objetos compartilham a mesma informação em comum, podemos usar os métodos estáticos. Por exemplo, uma conta do Banco do Brasil sempre vai ter o código da conta como ‘001’, então podemos criar um objeto estático para ele. Para isso utilizamos o @staticmethod logo acima da nossa função desejada. Veja o código abaixo:

@staticmethod
def codigo__BB():
    return '001'
Enter fullscreen mode Exit fullscreen mode

Como você pode notar, esse método não possui o parâmetro self, que é o responsável por armazenar a referência do Objeto.

Aqui acaba a primeira parte de Python Orientado a Objetos e logo publicarei a parte 2. Espero que tenham gostado, obrigada por terem lido até aqui! =)

Top comments (1)

Collapse
 
robsongrangeiro profile image
Robson Grangeiro

Como um primeiro artigo já fez tudo certinho! É isso aí, parabéns. Aguardamos os próximos. Abraço.