MATLAB Answers

Having an instance of a class take on a value?

1 view (last 30 days)
Chris Gnam
Chris Gnam on 24 Aug 2019
Commented: Chris Gnam on 24 Aug 2019
What I mean by this is I'd like to implement behavior similar to that of the datetime class.
When you create an instance of datetime, the resulting object shows up as:
foo =
datetime
24-Aug-2019 16:30:23
foo still maintains the fields:
'Format'
'TimeZone'
'Year'
'Month'
'Day'
'Hour'
'Minute'
'Second'
'SystemTimeZone'
But foo itself appears to have a "value" (which shows the day-month-year hour minute seconds values). This behavior is nice since it lets you do things like "foo1 - foo2" where both foo1 and foo2 are datetime objects and the resulting value is also a datetime.
I'm unsure of how to get this same behavior with a custom class of my own creation? I'm trying to implement my own time keeping class for astronomical purposes, so this kind of behavior would be extremely useful. I had originally attempted to use datetime as a superclass, however datetime appears to be sealed and so I cannot inherit from it unfortunately.
Any help would be greatly appreciated!

Accepted Answer

Steven Lord
Steven Lord on 24 Aug 2019
  1 Comment
Chris Gnam
Chris Gnam on 24 Aug 2019
Perfect! Thank you, overloading the operators was just what I was looking for. I just didn't know how to do that. Thanks so much!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by