Colección de citas famosas - Colección de firmas - Gran charla sobre C y Lua (5) Estructura de datos orientada a objetos: datos de usuario

Gran charla sobre C y Lua (5) Estructura de datos orientada a objetos: datos de usuario

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

¡Todos los que conocen Lua lo saben! Lua implementa el mecanismo básico de orientación a objetos (tabla) y proporciona un socket de Windows para que el lenguaje anfitrión (aquí lenguaje C) implemente los datos del usuario. Aquí, podemos simplemente usar el mecanismo de acceso a metatabla y __index para implementar un modo simple de acceso a datos de usuario orientado a objetos.

stu.c

Página principal

Resultados de la ejecución:

Los resultados de la ejecución son muy simples. Ahora, analicemos brevemente la implementación específica de la cadencia.

Primero, creamos una metatabla en el registro y la llamamos "stu". Luego agregue el metamétodo __index a esa metatabla y luego utilícelo como campo de búsqueda de valores clave. Finalmente, setfuncs se usa para inyectar métodos en la metatabla.

Los pasos anteriores son equivalentes a las siguientes operaciones en Lua:

Lo que cabe señalar aquí es: