Opinião sobre encapsulamento

1. Opinião sobre encapsulamento

Gabriel Bras
gabrielfwn

(usa Nenhuma)

Enviado em 25/11/2020 - 01:49h

Boa noite amigos. Apesar de já programar casualmente em lua há algum tempo, brincando com o love2D, somente agora passei a estudar mais a linguagem. Estou experimentando agora a orientação a objetos dela (que na verdade não é exatamente OOP, mas simula bem). Nisso eu cheguei à parte de encapsulamento e vi que há algumas maneiras de encapsular atributos de uma classe, e confesso que não gostei muito da maioria. Então eu resolvi fazer do meu próprio jeito :


o.Nome = {
get = function() return o.__nome end
set = function(pnome) o.__nome = pnome end
}
o.Nome.set(nome)


e gostaria da opinião dos amigos sobre essa maneira de encapsular o atributos.


  


2. Re: Opinião sobre encapsulamento

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 25/11/2020 - 15:07h

gabrielfwn escreveu:

Boa noite amigos. Apesar de já programar casualmente em lua há algum tempo, brincando com o love2D, somente agora passei a estudar mais a linguagem. Estou experimentando agora a orientação a objetos dela (que na verdade não é exatamente OOP, mas simula bem). Nisso eu cheguei à parte de encapsulamento e vi que há algumas maneiras de encapsular atributos de uma classe, e confesso que não gostei muito da maioria. Então eu resolvi fazer do meu próprio jeito :


o.Nome = {
get = function() return o.__nome end
set = function(pnome) o.__nome = pnome end
}
o.Nome.set(nome)


e gostaria da opinião dos amigos sobre essa maneira de encapsular o atributos.

Não entendo muito de lua, mas parece que ficou visualmente limpo.



3. Re: Opinião sobre encapsulamento

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 25/11/2020 - 20:04h

Eu diria que está um pouco fora de padrão, mas não está ruim.
Seria interessante se fosse algo assim:
o.setNome(str)
o.getNome()

Porque assim fica mais padronizado com outros códigos existentes.
Eu não conheço lua, mas sempre fui curioso com tal linguagem.

____________________________________________
https://nerdki.blogspot.com/ acessa aí vai lá, é grátis!
Capeta (demo) do meu trabalho:
https://cpusam.github.io/






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts