2013-11-18 5 views
1

Я хочу изменить значение свойства в классе Matlab из функции в том же классе matlab. I. о функциях класса генерирует значение, которое я хочу присвоить свойству для этого класса.Использовать метод set MATLAB

Это свойство класса:

classdef myclass < handle 

    properties (SetAccess = public) 

    notional; 
    T; 
    u; 
    nbrAnnualPayments; 
    sigma_u; 
    sigma_s; 
    s_i; 
    N2; 
    cash_flow; 
    paymentDates; 
    detTP; 
    volTP; 

..... и это метод набора.

function set.detTP(obj,value) 
    if ~(value > 0) 
     error('Property value must be positive') 
    else 
     obj.detTP = value; 
    end 
end 

Теперь я хочу, чтобы написать что-то вроде:

obj.set.detTP(obj, value); 

С другой функции, чтобы обновить значение свойства detTP.

Как мне это сделать? Как должна записываться заданная функция (т. Е. Правильно ли она написана сейчас)? и как должен выглядеть синтаксис для назначения нового значения свойству.

Заранее благодарим за вашу помощь!

ответ

1

Вы можете просто написать

obj.detTP = value; 

или, если вы будете использовать hgsetget вместо handle в качестве базового класса, вы могли бы сделать

set(obj, 'detTP', value); 

Ваш набор-метод выглядит хорошо на первый взгляд.

Смежные вопросы