lua的面向对象实例

local PI = 3.1415926
  
  s = {area = 0, r = 0}
  --派生类的方法
  s.new = function(self, o, r)
      o = o or {}
      setmetatable(o, self)
      self.__index = self
      self.r = r
      self.area = r*r*PI
      return o
  end
  
  s.printArea = function(self)
      print("area = ", self.area)
  end
  
  local model1 = s:new(nil, 4)
  model1:printArea()
  local model2 = s:new(nil, 5)
  model2:printArea()
  local model3 = s:new(nil, 6)

  model3:printArea()

请按 ENTER 或其它命令继续
area = 50.2654816
area = 78.539815
area = 113.0973336


  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值