루 아의 대상 과 계승
모듈 코드 Account. lua :
Account = {balance = 0}
Account.__index = Account
function Account:new (o)
o = o or {} -- create object if user does not provide one
setmetatable(o, self)
self.__index = self
return o
end
function Account:withdraw (v)
print("Call withdraw from Account obj.")
if v > self.balance then
print ("insufficient funds")
return
end
self.balance = self.balance - v
end
function Account:deposit (v)
self.balance = self.balance + v
end
function Account:getBalance()
return self.balance;
end
SpecialAccount = {limit = 0}
SpecialAccount = Account:new()
setmetatable(SpecialAccount, Account)
SpecialAccount.__index = SpecialAccount
function SpecialAccount:new (l)
local self = {}
self = Account:new()
setmetatable(self, SpecialAccount)
self.limit = l or 0
return self
end
function SpecialAccount:withdraw (v)
print("Call withdraw from SpecialAccount..")
if v - self.balance >= self:getLimit() then
print "insufficient funds!"
return
end
self.balance = self.balance - v
end
function SpecialAccount:getLimit()
return self.limit or 0
end
return Account;
호출 코드 class. lua:
--
-- class.lua
--
local acc = require("Account")
acc_ye = Account:new()
acc_ty = Account:new()
print ("Ori : balance of ye is : "..acc_ye:getBalance()..", And balance of ty is : "..acc_ty:getBalance())
acc_ye:deposit(100)
print ("Deposit: balance of ye is : "..acc_ye:getBalance()..", And balance of ty is : "..acc_ty:getBalance())
acc_ye:withdraw(100)
acc_ty:withdraw(100)
print ("Withdraw: balance of ye is : "..acc_ye:getBalance()..", And balance of ty is : "..acc_ty:getBalance())
acc_sye = SpecialAccount:new(2000)
acc_sty = SpecialAccount:new()
print ("Ori: balance of sye is : "..acc_sye:getBalance()..", And balance of sty is : "..acc_sty:getBalance())
print ("Ori: ===Limit of sye is : "..acc_sye:getLimit()..", And limit of sty is : "..acc_sty:getLimit())
acc_sye:deposit(1000)
print ("Deposit: balance of sye is : "..acc_sye:getBalance()..", And balance of sty is : "..acc_sty:getBalance())
acc_sye:withdraw(2500)
acc_sty:withdraw(1000)
print ("Withdraw: balance of sye is : "..acc_sye:getBalance()..", And balance of sty is : "..acc_sty:getBalance())
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
centos 7 nginx 대신 OpenResty 설치centos 7 nginx 대신 OpenResty 설치 1, 의존 하 는 패키지 설치 2, openresty 설치 3, LuaJIT 설치 4, 다운로드 ngxcache_purge 모듈, 이 모듈 은 nginx 캐 시...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.