1
resposta

[Dúvida] Atributo da classe

Se na minha classe Conta, o código do banco fosse um atributo da classe, definido assim...

class Conta:
    CODE_BB = "001"  

Como evitar que em execução eu pudesse evitar que eu fizesse algo assim...

Conta.CODE_BB = "104"

... O que alteraria o valor do atributo da classe para o valor "104"?

Outra situação ruim, é essa:

Conta.codigo_bb
Out[17]: '106'

conta.codigo_bb
Out[18]: '105'

conta1.codigo_bb
Out[19]: '107'

A classe com um código de banco da classe Conta, com valor "106"; E um objeto conta, da classe Conta, e um código de banco com valor "105"; e outro objeto conta1, da classe Conta, mas um código de banco com valor "107"

Em outras palavras... Existe uma forma de proteger o atributo de classe, e assim garantir que todos os objetos assumam um mesmo valor, e que não possa ser alterado em execução?

1 resposta

Olá, tudo bem ? Uma forma que eu pensei que poderia fazer, é armazenar o codigo em uma tupla, ja que tuplas são imutaveis, não recebem outro valor. Exemplo:Insira aqui a descrição dessa imagem para ajudar na acessibilidade

No curso de Python Collections, tem uma explicação mais aprofundada sobre tuplas. Espero ter ajudado