Klassen Instanz einer Klasse in ihrer eigenen Definition erzeugen? möglich?

philster91

Neues Mitglied
der betreff und die fragestellung hören sich vielleicht etwas merkwürdig an, aber genau das ist mein problem 😉

ich habe gerade angefangen java zu lernen und wollte nun eine klasse schreiben, die allerlei dinge mit vektoren anstellt.

Java:
Vector3D v1 = new Vector3D(1.0,2.0,3.0);

jetzt wollte ich eine funktion schreiben, die das vektorprodukt berechnet und in einer neuen Vector3D-instanz speichert, aber das scheint unlogisch und wohl nicht zu funktionieren. gibt es eine andere möglichkeit der implementierung? im moment überschreibe ich die werte der instanz, die die methode aufruft.

Java:
public void vectorp(Vector3D v) {
		double a,b,c;
		a = (this.y * v.z) - (this.z * v.y);
		b = (this.z * v.x) - (this.x * v.z);
		c = (this.x * v.y) - (this.y * v.x);
		this.x = a;
		this.y = b;
		this.z = c;
	}

ich würde aber eben gerne eine neue instanz für das vektorprodukt erzeugen und die anderen beiden vektoren unangetastet lassen, damit ich mit ihnen weiterarbeiten kann!
 
Java:
public Vector3D vectorp(Vector3D v) {
	double a,b,c;
	a = (this.y * v.z) - (this.z * v.y);
	b = (this.z * v.x) - (this.x * v.z);
	c = (this.x * v.y) - (this.y * v.x);

	return new Vector3D(a,b,c)
}

das müsste dann in etwa so aussehen, vorrausgesetzt dieser verwendete Kontruktor existiert 😀
 
nicht nur "in etwa" 😉 der code funktioniert wunderbar. dankeschön. und das ging so schnell. ich glaube, hier werde ich im laufe meines bald beginnenden informatik-studiums öfter vorbeischauen 🙂
 

Zurück
Oben