Zugriff auf ein Objekt der eigenen Klasse

Status
Nicht offen für weitere Antworten.

°Easter-egg°

Neues Mitglied
Ohh Gott hoffendlich kann ich das übersichtlich genug darstelln.

Also ich hab hier ein programm mit 2 klassen (Polynomial und test). Es geht darum, dass in der Poly mehrere methoden zur Ausgabe und berechnung von Polynomen der Form ax^3 + bx^2 + cx + d.

Zu beginn hab ich diesen konstruktoren:
Code:
class Polynomial
{
	
	final private double koeffa;
	final private double koeffb;
	final private double koeffc;
	final private double koeffd;
	
	Polynomial(double a, double b, double c, double d)
	{
		koeffa = a;
		koeffb = b;
		koeffc = c;
		koeffd = d;
	}

        Polynomial()
	{
		koeffa = 1.0;
		koeffb = 1.0;
		koeffc = 1.0;
		koeffd = 1.0;
	}

Der Elementzugriff läuft über:
Code:
	double getCoefficient(int degree)
	{
		
		if(degree == 3)
			return koeffa;
		
		if(degree == 2)
			return koeffb;
		
		if(degree == 1)
			return koeffc;
		
		if(degree == 0)
			return koeffd;
		
		else
			return 0;
	}

In Test soll man nun ein beispiel-Polynom generiern und z.B. Ausgeben.

Code:
class Test
{
	public static void main (String [] args)
	{
                 Polynomial s = new Polynomial(6, 4, -2, 5);
	
	         s.printPolynomial();}}

Also es wird über die Klasse Test ein Objekt in der Klasse Polynomial generiert mit den Werten 6 4 -2 und 5.
Ich möcht nun in der Klasse Polynomial in der Methode printPolynomial() auf diese Werte zugreifen.

Quasi so:
Code:
void printPolynom()
	{
		Polynomial t = new Polynomial();

		double a = t.getCoefficient(3);
		double b = t.getCoefficient(2);
		double c = t.getCoefficient(1);
		double d = t.getCoefficient(0);

                System.out.printf(" a*x^3 + b*x^2 + c*x +d");}

Hier greift er aber noch auf den default-Konstruktor zu.

und ein new-Befehl würd ein neues Objekt schaffen.
Wenn ichs recht verstanden hab müsste ein Copy-Konstruktor auch in Test sein, ich brauchs aber in Polynomial.
Ich bräucht also wie gesagt ne Möglichkeit auf die Werte aus Test die eigendlich in Polynomial stehn zuzugreifen.

Ich Hoff ihr könnt mir weiterhelfen und ich bin für jeden Denkanstoß dankbar. Ich sitze an diesem problem nähmlich schon seit heut um 12 ohne Pause.
Warscheinlich ist es total simpel und ich einfach nur zu dumm.


Danke im vorraus.
 
schon seit 12? heute ist doch Silvester 😉 - mach mal Pause!

was du suchst ist wohl this? Anstatt in deiner printPolynomial-Methode ein neues Objekt vom Typ Polynomial zu erstellen, kannst du direkt auf die Attribute des aktuellen Objekts zugreifen:
Code:
double a = this.getCoefficiant(3);
und das this dient dabei sogar nur der (möglicherweise) besseren Lesbarkeit... kann auch weggelassen werden.

Ansonsten hätte ich die Koeffizienten in ein Array gepackt.. dann ist das ganze erweiterbar und man braucht nicht so umständlich die einzelnen Koeffizienten einzelnen Attributen zuweisen.

Ansonsten... einen guten Rutsch! ... ich geh jetzt offline für dieses Jahr 😉
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben