I was just wondering if this OOP code is correct and if there is anything I can change about it? First time trying OOP.
ModuleScript:
local Train = {}
Train.__index = Train
function Train.NewTrain(number, color)
local NewTrain = {}
setmetatable(NewTrain, Train)
NewTrain.number = number
NewTrain.color = color
print(number)
print(color)
return NewTrain
end
function Train:ChangeNumber(NewNumber)
self.number = NewNumber
print(NewNumber)
end
return Train
Script:
local TrainModule = require(game.ReplicatedStorage.OOPTrainModule)
NewTrain = TrainModule.NewTrain(1, "red")
NewTrain:ChangeNumber(7)
Output: