Meaning of less/greater than in handle objects

3 views (last 30 days)
What is the meaning of less/greater than in handle objects? Here is a simple example.
classdef SimpleHandle < handle
end
When I create and compare two objects:
a=SimpleHandle();
b=SimpleHandle();
a > b
the result is randomly true or false.
I understand the use of == versus isqual for handle objects, but the notion of greater/less than eludes me.

Accepted Answer

Bruno Luong
Bruno Luong on 17 Sep 2020
I believe the graphic handle object at one point of MATLAB history (before R2014b?) is just a double numbers unique assigned too each object.
They are used to identify the object. Matlab later replace HANDLE with a real object, but keep comparison for compatibility.
Shouldn't worry about comparing them, it's meaningless operation.
  2 Comments
Walter Roberson
Walter Roberson on 17 Sep 2020
You can still double() any handle, and handle() any double (but the result might be an invalid handle.)
Daniel Dolan
Daniel Dolan on 17 Sep 2020
Numeric representations of graphic handles are still available, so I can see why inequality methods might have been implemented. There must be some kind of number associated with every object, but double(obj) only works for graphic handles, not direct subclasses of handles.

Sign in to comment.

More Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!