Основное отличие классов value и handle в MATLAB заключается в поведении при копировании объектов: 4
- Классы value. 14 При копировании экземпляра такого класса базовые данные копируются в новый экземпляр. 4 Если передать эту переменную функции, чтобы изменить её, функция должна вернуть модифицированный объект как выходной аргумент. 1
- Классы handle. 14 Конструктор класса возвращает объект указателя, который является ссылкой на созданный объект. 1 Можно присвоить объект указателя нескольким переменным или передать его функциям, не заставляя MATLAB сделать копию исходного объекта. 1 Если изменить значение свойства на исходном объекте, скопированный указатель ссылается на то же изменение. 1
Классы value используют для представления объектов, которые не должны быть уникальными, например числовых значений. 2 Классы handle применяют, когда нужно создать ссылку на данные, содержащиеся в объекте класса, и не создавать копии этих данных. 2