How do I extend a class successfully?
Hello, I am trying to figure out OOP in Roblox Lua.
What I have here is a "class" named BrickModel which can spawn bricks, and a "class" named UnanchoredBrickModel which can spawn bricks differently.
02 | BrickModel.__index = BrickModel |
04 | function BrickModel:new(color, size) |
05 | local mt = setmetatable ( { color = color, size = size } , BrickModel) |
10 | function BrickModel:createInstance(positionVector 3 ) |
16 | local UnanchoredBrickModel = { } |
17 | UnanchoredBrickModel.__index = UnanchoredBrickModel |
19 | function UnanchoredBrickModel:new(color, size) |
20 | local mt = setmetatable ( { color = color, size = size } , UnanchoredBrickModel) |
Ideally I would like UnanchoredBrickModel to just extend BrickModel. I have tried doing this by doing something like this:
1 | local UnanchoredBrickModel = BrickModel:new() |
However, when I called UnanchoredBrickModel:createInstance(), it seemed to call BrickModel:createInstance() instead. My friend suggested separating the two classes, although I would like to know if it would be possible to extend BrickModel to UnanchoredBrickModel, and if so, how.