Red de conocimiento informático - Material del sitio web - Estructuras de datos orientadas a objetos de Big Talk C y Lua (V): datos de usuario

Estructuras de datos orientadas a objetos de Big Talk C y Lua (V): datos de usuario

¿Cómo implementar la orientación a objetos?

¡Cualquiera que esté familiarizado con Lua lo sabe! Lua ya implementa internamente mecanismos básicos orientados a objetos (tablas) y también proporciona un conjunto de interfaces al lenguaje anfitrión (lenguaje C en este caso) para implementar estructuras de datos personalizadas (datos de usuario). Aquí, podemos simplemente implementar un método simple de acceso orientado a objetos para datos de usuario utilizando mecanismos de acceso a metatabla y __index.

stu.c

main.lua

Resultados de la ejecución:

Los resultados de la ejecución son muy simples. Ahora, analicemos brevemente los pasos de implementación.

Primero, creamos una metatabla en el registro y la llamamos "stu". Luego agregamos un metamétodo __index a esta metatabla y lo usamos como el campo de búsqueda de claves. Finalmente, usamos setfuncs para inyectar métodos en la metatabla.

Los pasos anteriores son equivalentes en lua:

Esto es lo que debe buscar: