lua 类

-- Meta class
Rectangle = {}
--Rectangle = {area = 0, length = 0, breadth = 0}
Rectangle.area = 0
Rectangle.length = 0
Rectangle.breadth = 0
-- 派生类的方法 new

function Rectangle:create (length, breadth)
    o = Rectangle:new()

    self.length = length or 0
    self.breadth = breadth or 0
    self.area = length*breadth;

    return o
end

function Rectangle:new (length,breadth)
  o = o or {}
  setmetatable(o, self)
  self.__index = self
  return o
end

-- 派生类的方法 printArea
function Rectangle:printArea ()
  print("矩形面积为 ",self.area)
end
-- Meta class
Clires = {}
--Rectangle = {area = 0, length = 0, breadth = 0}
Clires.area = 0
Clires.length = 0
Clires.breadth = 0
Clires.moneyPoint = {}
-- 派生类的方法 new
--Clires:create = function(length, breadth) 
function Clires:create (length, breadth)
    local o = Clires:new()

    o.length = length or 0
    o.breadth = breadth or 0
    o.area = length*breadth
    o.moneyPoint[1] = 2
    o.moneyPoint[2] = 5
    return o
end
--Clires.new = function()
function Clires:new (length,breadth)
  o = o or {}
  setmetatable(o, self)
  self.__index = self
  return o
end

-- 派生类的方法 printArea
--Clires.printArea = function()
function Clires:printArea ()
  print("圆面积为 ",self.area)
  print("测试表o.moneyPoint[1]为 ", self.moneyPoint[1])
  print("测试表o.moneyPoint[2]为 ", self.moneyPoint[2])
end
r = Rectangle:create(10,20)
print(r.length)
r:printArea()

h = Rectangle:create(20,20)
print(h.length)
h:printArea()

j = Clires:create(10,20)
print(j.length)
j:printArea()

k = Clires:create(20,20)
print(k.length)
k:printArea()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值