Class method not working properly
조회 수: 7 (최근 30일)
이전 댓글 표시
Hello,
My method function "move(obj)" does nothing when it is called. The obj.pos is left unchanged. Can anyone tell me what I'm doing wrong? Here's the class code:
classdef ball
properties
pos
vel
rad
end
methods
function obj = ball(pos,vel,rad)
if nargin ~= 0
obj=ball;
obj.pos = pos;
obj.vel = vel;
obj.rad = rad;
end
end
function draw(obj) (...)
end
function move(obj)
obj.pos(1)=obj.pos(1)+obj.vel(1);
obj.pos(2)=obj.pos(2)+obj.vel(2);
end
end
end
Thanks!
-Jim
댓글 수: 0
채택된 답변
Daniel Shub
2011년 9월 23일
Your class is a value class. If you want the new value of obj, then you need the move method to return obj. You may want your class to be a handle class
classdef ball < handle
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Class File Organization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!