COMO DEFINIR VALOR PARA PROPRIEDADE READONLY

MARCELOKROL 20/09/2022 09:38:26
#500469
Pessoal
Baseado no exemplo em anexo, como definir um valor para a propriedade Documento, sendo que ela é somente leitura
KERPLUNK 20/09/2022 14:59:06
#500471
Crie um método na classe, tipo "SetDocumento" e um parâmetro no método onde passa o valor que quer.
MARCELOKROL 20/09/2022 15:38:51
#500472
Obrigado pelo retorno

Entendi a ideia, mas ai surgiu outra duvida: o SetDocumento teria que ser público, desse modo não da na mesma que deixar a opção de escrita da propriedade ativa?
KERPLUNK 20/09/2022 18:24:32
#500477
Não necessariamente. Se voce fizer um método, voce estará ainda com a propriedade read-only. No seu caso, não faria muita diferença porque voce está usando VBA, então uma parte significativa da OOP simplesmente não existe(polimorfismo por exemplo), Nesses casos, na OOP, quando temos uma propriedade read-only, geralmente é porque ela deve ser alterada em casos específicos e o mais comum é na inicialização da instância, onde voce passa os valores que quer para aquela variável somente na inicialização.
JABA 21/09/2022 22:35:14
#500478
Se a propriedade está como somente-leitura é porque existe um motivo para ela não ser alterada fora do seu escopo. Ou seja, é somente-leitura para o mundo externo, não para o contexto interno. Isso significa que se voce criar uma propriedade pública para desfazer isso, a fim de modificar seus valores fora do escopo dela, voce estará ferindo a coesão do sistema.
Faça seu login para responder