[Tutorial] Básicos de uma classe |
Hydroper « Citoyen » 1487152500000
| 0 | ||
Básicos (Preciso re-elaborar o tópico.) O que é uma classe? Um modelo instanciável, programaticamente. Instância Um instância é tipo uma ocorrência de uma classe. Base (das instâncias) A base de uma classe é acessível por suas instâncias. A base contém membros, métodos, etc. Base estática A base estática de uma classe é a própria classe, contendo membros, métodos e etc. em sí mesma. Características comuns Classe dinâmica e classe estática. Hierarquia básica Uma classe B herda de uma classe A; o modelo da classe B basea no modelo da classe A, a classe A seria parente dessa. Construtor Encarregado de instanciar uma classe. Métodos Métodos são membros da base, que são funções. A maioria das implementações básicas para trabalhar com classes em Lua (utilizando tabelas e metatables) geralmente (depende da funcionalidade) requerem que a instância seja passada como primeiro argumento do método. Se forem métodos estáticos vai depender de como são criados. Minha implementação de classes O mais comum para criar e trabalhar com classes no Lua é o uso de tabelas e metatables. Sempre uso esse estilo de implementação na(s) minha(s) biblioteca(s), para criar classes com estruturas similiares.
Exemplo de uso Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 local Scanner = class_createclass() Código Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 local env_getmetatable, env_setmetatable = Dernière modification le 1488383160000 |
0 | ||
pra que serve "b.__index=c"? Dernière modification le 1488375600000 |
Hydroper « Citoyen » 1488381480000
| 0 | ||
Se vc se refere à linha Code Lua 1 C.proto.__index = b; Depois dessa linha há um passo extra que serve para herdar a base parente. Não posso elaborar no tópico agora... Estava pensando em refazê-lo e mudar um pouco do estilo do código |
0 | ||
Não,só quero saber qual a utilidade de colocar "b.__index=a" |
Hydroper « Citoyen » 1488382920000
| 0 | ||
Lcemt a dit : Eu já falei a utilidade? ", isso define a tabela base da classe (que vai ser acessada por instâncias)." |
Grastfetry « Consul » 1488488760000
| 0 | ||
Trancado a pedido do criador. |