Meaning of less/greater than in handle objects

3 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Bruno Luong
Bruno Luong il 17 Set 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 Commenti
Walter Roberson
Walter Roberson il 17 Set 2020
You can still double() any handle, and handle() any double (but the result might be an invalid handle.)
Daniel Dolan
Daniel Dolan il 17 Set 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by