Sorry, I found a typo in @foo/access.m. I typed "disp(obj,yy)" instead of "disp(obj.yy)" by accident (comma instead of period).
With this version
@foo/access.m: function access(obj)
disp(obj.xx) ; disp(obj.yy) ;
end
Then the inherited function uses the parent's values.
>> b = bar() ; >> access(b) 10 20
These are the values from the parent class. It is still true that subclasses cannot access parent class fields and that non-existent fields are not forwarded. Sorry for any confusion.