lua也面相对象?不错,是的。它有面向对象的操作。看看简单示例:
一般用this或者self指向当前对象。python用习惯了,和python保持一致,用self来表示。lua中,可以用冒号语法省略self参数的传递,如上例中 c1:pprint() 等价于 c1.pprint(c1)。
有面向对象的特征,当然少不了继承:
DTest继承自CTest,重写了pprint方法。
有面向对象的特征,当然少不了封装:
如果对JavaScript比较了解,一看到上面的封装代码,觉得俨然是JavaScript风格,并且和JavaScript封装的行为几乎一模一样。