Classes em Python

Vamos estudar como criar classes na linguagem Python.

Avatar


31 de julho2 min. de leitura

Fala, meus consagrados! Tudo beleza com vocês?

Vamos estudar como criar classes na linguagem Python.

Teoria

As classes podem definir construtores e atributos e métodos de instâncias ou de classe.

Abaixo, temos uma sintaxe mais completa para criação de classes em Python:

class NomeClasse:
    def __init__(self, parâmetro 1, parâmetro 2, parâmetro N):
        self.atributo 1 = parâmetro 1
        self.atributo 2 = parâmetro 2
        self.atributo N = parametron N
    def nomeMetodo(self, [parâmetro 1, parâmetro 2, ...]):
        {bloco de instruções}
        [return] {valor}

Vamos simplificar e usar uma sintaxe mais simples para criação de uma classe:

class NomeClasse:
    {bloco de instruções}

Na criação de uma classe, usamos a palavra-chave class, seguida do nome da classe.

Para criar um objeto, usamos a seguinte sintaxe:

variável = NomeClasse()

A sintaxe acima mostra como um objeto é criado e inicializado e como uma variável recebe essa nova instância como retorno.

Essa sintaxe representa um construtor de instâncias de classe. Ele serve para inicializar o estado de uma instância, podendo, para isso, receber alguns valores como parâmetros.

Vamos agora usar um exemplo prático para entendermos melhor a criação de classes em Python. Começaremos com exemplo da criação da classe Professor, com os atributos nome e disciplina.

Exemplo:

Cada objeto criado por ter valores diferentes para esses atributos de instância.

No exemplo, foi criado um objeto da classe Professor que é referenciado pela variável rogerio:

rogerio = Professor()

A partir da variável rogerio, acessamos os atributos de instância nome e disciplina:

  • rogerio.nome = “Rogerão Araújo”; e
  • rogerio. disciplina = “Desenvolvimento de Sistemas”.

Os atributos definidos em uma classe em Python são públicos, o que faz com que qualquer objeto possa ter acesso direto aos atributos de outro objeto.

Exemplo:

Agora vamos fazer algumas questões para treinarmos essa revisão.

Questões de concursos

[FCC 2012 TRE/CE – Analista Judiciário – Análise de Sistemas] É INCORRETO afirmar que em Phyton, (Marque o texto da letra como CERTO ou ERRADO)

[D] instâncias são objetos criados a partir de uma classe definida pelo programador; o que Python chama de instância é frequentemente denominado objeto em outras linguagens.

Comentários:

Os objetos são instâncias das classes. Quando um objeto é criado, ele usa a estrutura definida da sua classe, ou seja, o estado e o comportamento definidos pela classe.

Gabarito: CERTO.

[FCC 2012 TRE/CE – Analista Judiciário – Análise de Sistemas] É INCORRETO afirmar que em Phyton, (Marque o texto da letra como CERTO ou ERRADO)

[E] é possível acessar os atributos da instância diretamente, sem a necessidade de usar um método.

Comentários:

Sim. É possível acessar os atributos de uma instância de classe (objeto) sem a necessidade de usar um método porque os atributos definidos em uma classe em Python são públicos.

Gabarito: CERTO.

[CCV/UFS  2014 UFS – Técnico de Tecnologia da Informação] Sobre a linguagem Python, afirma-se: (Marque o texto do item como CERTO ou ERRADO)

[III] Possui uma implementação de orientação a objetos em que todos os atributos são, obrigatoriamente, privados.

Comentários:

Python suporta sim os conceitos da orientação a objetos, porém, os atributos definidos em uma classe em Python são públicos.

Gabarito: ERRADO.

[IFPE 2019 IFPE – Técnico em Tecnologia da Informação – Desenvolvimento] Sobre a linguagem de Programação Python, analise as afirmações a seguir. (Marque o texto do item como CERTO ou ERRADO)

[II] Como qualquer outra linguagem orientada a objetos, Python segue o princípio do acesso uniforme (uniform access principle) sugerindo que atributos das classes sejam privados e que sejam acessados apenas através de métodos gets e sets.

Comentários:

Os atributos definidos em uma classe em Python são públicos, o que faz com que qualquer objeto possa ter acesso direto aos atributos de outro objeto, não precisando de métodos gets e sets.

Gabarito: ERRADO.

Então é isso!
[]s e até a próxima!
_________________________
Professor Rogerão Araújo

Avatar


31 de julho2 min. de leitura