Having an instance of a class take on a value?

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!

 채택된 답변

Steven Lord
Steven Lord 2019년 8월 24일

0 개 추천

댓글 수: 1

Chris Gnam
Chris Gnam 2019년 8월 24일
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!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Construct and Work with Object Arrays에 대해 자세히 알아보기

질문:

2019년 8월 24일

댓글:

2019년 8월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by