Constructor behaviour in Classes
이전 댓글 표시
Main Question: Is this normal behaviour?
I've encountered some strange behaviour when initilizing properties of classes (child of handle):
Note: example test-script in zip-file (attachement)
classdef pokemon< handle % baseClass
%POKEMON container
% dummy example
properties
moves = Moves() ; %Moves is also a (custom) class (child from handle)
level;
end
methods
function obj = pokemon(obj)
% obj.moves = Moves(); % if the property is initialized here, it
% works likes excepted.
end
function getname(obj)
% does nothing
end
end
end
When a property is initilized in the 'properties' section:
A= Pokemon; B = Pokemon;
The handle of A.moves and B.moves is the same. ( change A.moves, B.moves also changes)
If the property is initilized in the constructor (like I would normaly do), A.moves and B.moves are two different objects.
Sub-Question: Why does it behaves differently?
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!