When should an class not be a class.

Monkey Archive Forums/Monkey Discussion/When should an class not be a class.

Paul - Taiphoz(Posted 2014) [#1]
was looking at some old code and found this.

Have no clue what I was thinking when I wrote this, not even sure what I was planning to do with it, but based on all I had done I have to ask myself if that's it, then why did I make it a class, why is not a local or global.

So Monkey coders, when is a class not a class ? when its really a global in disguise.

class OP
  field value:float
  
  method new()
  end method

  method SetOP(_op)
    value=_op
  end method

  method GetOP()
    return _value
  end method



therevills(Posted 2014) [#2]
Were you going to have multiple instances of OP? The class itself looks fine and very much a POJO (Plain Old Java Object) or Bean.


Paul - Taiphoz(Posted 2014) [#3]
no idea mate, I often sit at 2 or 3am and have this amazing idea, I block in a little code before I cave and goto bed, when I get up in the morning I almost ALWAYS have no clue what the hell I was thinking, some times I come up with little gems that my sleep deprived brain just plucks out of god knows where, but most of the time its nonsense, like the above.


Gerry Quinn(Posted 2014) [#4]
Was it some kind of boxing effort? Like you wanted to pass a float around as an object?

More likely though it was intended to be some more complicated class that you did not finish. Maybe for doing some kind of math.


Paul - Taiphoz(Posted 2014) [#5]
You know what, it might have been something to do with boxing, still no clue what it was but I do recall messing with boxing a little.

I normally comment the hell out of my code but some where between Midnight and 1am I seem to stop commenting, and anything I write after 1 in the morning is always a complete mystery to me lol, it's like there is some little switch in my head that just toggles off or onto auto pilot mode as soon as it passes Midnight.


chimaera(Posted 2014) [#6]
Well, for me I implement a class in I need an object to have several different sub-values, that cannot be contained in a single value. In your example you could have it as a global variable, but what happens if you add a value2, value3 and value 4. That would then mean that you would have 4 global variables. If you would have made it into a class you would still have one global called for example "op". You would then be able to called op.value1, op.value2, op.value3 and op.value4.

Of course this is the simply answer.


Gerry Quinn(Posted 2014) [#7]
I've taken to sometimes using an int array when I'm likely to have a few pieces of data but I'm not sure how many. Sort of like a union in C, but not to save memory so much as to save field names. E.g. an item class in a roguelike which might have several parameters depending on the item type.