# klassen verbinden



## coolerouny (17. April 2005)

kann mit jemand sagen wie ich zwie klassen verbinden kann?

also dass ich hier "getDistance" in einer anderen klasse hab

```
import java.awt.*;

public class Distance
{
	Point A = new Point(100,100);
	Point B = new Point(200,200);
	
	public int getDistance(int x1,int y1, int x2, int y2)
	{
		//c² = a² + b²
		int c;
		
		c = (int)( Math.sqrt( Math.pow((x2-x1),2) + Math.pow((y2-y1),2)) );
	//	c =        wurzel aus |--------a²-------| + |---------b²-------|
		
		return c;
	}
	
	public static void main(String args[])
	{
		new Distance();
	}
	
	Distance()
	{
		int dis = getDistance(A.x,A.y,B.x,B.y); //berechnen
		System.out.println("der abstand ist " +  dis);
	}
}
```

mfg
coolerouny


----------



## lernen.2007 (17. April 2005)

Du gehts einfach in die andere Klasse und bildest mit Name der Klasse eine Instanz und kannst du dann auf alle Methoden anderen Klasse zugreifen.Bedingung: Klassen müssen sich in gleichen paket befinden.


----------



## Thomas Darimont (17. April 2005)

Hallo!

Schau mal hier:

```
/**
 * 
 */
package de.tutorials;

import java.awt.Point;

/**
 * @author Tom
 */
public class DistanceCalculator {

	public static void main(String[] args) {
		Point p0 = new Point(0, 0);
		Point p1 = new Point(100, 100);
		System.out.println(new DistanceCalculator().calculateDistance(p0, p1));
	}

	private double calculateDistance(Point p0, Point p1) {
		return p0.distance(p1);
	}
}
```

Gruß Tom


----------



## coolerouny (17. April 2005)

he?

is dann in der anderen klasse die berechnung?

kenn mich da jetzt irgendwie überhaupst nicht aus @-)


----------



## coolerouny (17. April 2005)

10 min später...

ich habs geschafft !

aber Tom, gibt es getDistance oder so was von haus aus schon?

aber ich habs jetzt so gemacht

in der klasse Distance

```
import java.awt.*;

public class Distance
{
	Point A = new Point(100,100);
	Point B = new Point(200,200);
	
	private Berechnen calculate;
	
	public static void main(String args[])
	{
		new Distance();
	}
	
	Distance()
	{
		calculate = new Berechnen();
		int dis = calculate.getDistance(A.x,A.y,B.x,B.y); //berechnen
		System.out.println("der abstand ist " +  dis);
	}
}
```

und in der klasse Berechnen

```
public class Berechnen
{
	public int getDistance(int x1,int y1, int x2, int y2)
	{
		//c² = a² + b²
		int c;
		
		c = (int)( Math.sqrt( Math.pow((x2-x1),2) + Math.pow((y2-y1),2)) );
	//	c =        wurzel aus |--------a²-------| + |---------b²-------|
		
		System.out.println("muhaha ich bin in der anderen klasse");
		return c;
		
	}
}
```

mfg
coolerouny


----------



## Thomas Darimont (17. April 2005)

Hallo!

Ja, in der Klasse Point sind mehrere getDistance(,...) Methoden Überladungen zu finden.
Ansonsten hast du dein Problem prima selbst gelöst 

Gruß Tom


----------



## coolerouny (17. April 2005)

gut 

danke

ps:
3001 beiträge... respeckt


----------



## Christian Fein (17. April 2005)

coolerouny hat gesagt.:
			
		

> ps:
> 3001 beiträge... respeckt



Yep er holt auf


----------

