Having an instance of a class take on a value?

1 visualizzazione (ultimi 30 giorni)
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!

Risposta accettata

Steven Lord
Steven Lord il 24 Ago 2019
  1 Commento
Chris Gnam
Chris Gnam il 24 Ago 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!

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by