Meaning of less/greater than in handle objects

3 vues (au cours des 30 derniers jours)
Daniel Dolan
Daniel Dolan le 17 Sep 2020
Commenté : Daniel Dolan le 17 Sep 2020
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.

Réponse acceptée

Bruno Luong
Bruno Luong le 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 commentaires
Walter Roberson
Walter Roberson le 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 le 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by