Objects

Many programming languages support the concept of Object-Oriented Programming (OOP). OOP is a methodology that couples data (variables) and logic (functions) into one cohesive unit (object). While Lua is not an object-oriented language, it does provide all the facilities to allow us to implement an object system.

The class is a core construct in OOP. The class is a single template from which multiple objects can be built. A common analogy is to compare a class to the blueprint of a house. The blueprint defines the dimensions and layout of a house, and many houses can be produced from a single blueprint.

Even though many houses can be made from the same blueprint, they are independent of each other. If one home owner adds a room to a house, it will not affect any other houses. But, if a room is added to the blueprint of that house, all future houses will have that room.

Some languages, such as C++ and Java, provide native support for classes, but Lua does not. Instead, in Lua a clever use of meta tables can create a class system. Meta tables can create a prototype-based object system similar to what is found in JavaScript or Action Script.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.17.164.34