OOP Besoin d'aide pour obtenir des méthodes pour retourner des objets.Je travaille sur une classe de vecteurs en JSL. Je voudrais avoir une méthode qui renverrait une version normalisée du vecteur. Ci-dessous, mon script et mon message d'erreur. Merci!
Clear Log();
Clear Globals();
Define Class(
"vector",
x = 0;
y = 0;
z = 0;
_init_ = Method( {a, b, c = 0},
x = a;
y = b;
z = c;
);
_show_ = Method( {},
Return( x, y, z )
);
mag = Method( {},
magnitude = Sqrt( x ^ 2 + y ^ 2 + z ^ 2 )
);
normalize = Method( {},
nv = vector(0,0,0);
length = Sqrt( x ^ 2 + y ^ 2 + z ^ 2 );
show(length);
nv:x = x / length;
nv:y = y / length;
nv:z = z / length;
nv;
);
);
bob = New Object( vector( 4, 2 ) );
Show( bob );
bob<<NORMALIZE></NORMALIZE>Nom non résolu: vecteur d'accès ou d'évaluation de 'vecteur', vecteur (0, 0, 0)
Re: OOP Besoin d'aide pour obtenir des méthodes pour retourner des objets.Je suis novice en ce qui concerne les cours en général et les cours JMP. Cela marche:
Clear Log();
Clear Globals();
Define Class(
"vector",
x = 0;
y = 0;
z = 0;
_init_ = Method( {a, b, c = 0},
x = a;
y = b;
z = c;
);
_show_ = Method( {},
Return( x, y, z )
);
mag = Method( {},
magnitude = Sqrt( x ^ 2 + y ^ 2 + z ^ 2 )
);
normalize = Method( {},
nv = [0,0,0];
length = Sqrt( x ^ 2 + y ^ 2 + z ^ 2 );
show(length);
nv[1] = x / length;
nv[2] = y / length;
nv[3] = z / length;
Print(char(nv));
nv;
);
);
bob = New Object( vector( 4, 2 ) );
Show( bob );
bob = bob:normalize();
show(bob);
Il y a une méthode pour se passer soi-même. Je suggère le Guide de script JMP et la recherche de cours sur ce site Web.
Re: OOP Besoin d'aide pour obtenir des méthodes pour retourner des objets.Géorgie,
Merci pour votre réponse. J'ai trouvé le message "clone" pour les objets que je peux utiliser pour créer une copie de l'objet, puis le normaliser. Je vais continuer à chercher et à voir si je peux trouver quelque chose sur la façon de retourner des objets directement à partir de méthodes, comme dans l'exemple de classe "complex".
John