Meaning of less/greater than in handle objects

3 次查看(过去 30 天)
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.

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by