Vererbung und Arrays, ich werd verrückt!

Status
Nicht offen für weitere Antworten.
E

elduderado_

Gast
Moin,

ich hab eine abstract class shape, von der erben z.B. Quadrangle. Ich möchte, dass in shape ein Array konstruiert wird, der noch keine feste Größe hat. Dann möchte ich mit Quadrangle 4 Punkte einlesen (Point2D definiert durch punkt x,y - gibt dafür bereits eine klasse, die funktioniert) und das dann irgendwie in ein Array umwandelt und an shape mit super() schickt.... geht das ? hier mein code:

Code:
abstract class Shape {
	Point2D[] points;
	
	public Shape(Point2D[] A){
		points = A;
	}

	
	public String toString(){
	return new String( java.util.Arrays.toString( points ));
	}
	
	
	//public String toString(){
		
	//}
	
	public void moveall(Vector2D a){
	     for (int i=0; i<this.points.length; i++) {
	    	 this.points[i].x += a.x;
	    	 this.points[i].y += a.y;
	         }
	      }	
	
}

Ich hab keine Ahnung wie der Konstruktor aussehen soll... hab schon einiges Probiert, klappt alles net.

Code:
public class Quadrangle extends Shape {
	
	public Quadrangle(Point2D e, Point2D f, Point2D g, Point2D h){
		//points = new Point2D[]{e,f,g,h};
		//Point2D[] B = {e,f,g,h};
		super(e,f,g,h);
		
	}
	
}

Code:
public class Point2D extends Object2D{ 
	
public Point2D(double dx, double dy){
	super(dx,dy);
}

public String toString(){
	return new String("Der Punkt hat die Werte [" +this.x+ "|" +this.y+ "]");
}

public void move(Vector2D a){		// Verschiebung des Punktes um den Vektor a aus aktuellen Punktkoordinaten
	this.x += a.x;
	this.y += a.y;
	}

public Point2D copy(){
	return new Point2D(this.x,this.y);
}

public Vector2D transVec(Point2D a){		//Verschiebungsvektor 2er Punkte
	return new Vector2D(a.x-this.x,a.y-this.y);
}

public double distance(Point2D b){					//Abstand 2er Punkte
	return (this.transVec(b)).length();
}

}

Wichtig ist mir einfach nur, dass ich irgendwie den Konstruktor hin bekomme... und mal ein Objekt Quadrangle erstellen kann ^^

Vielen Dank im Vorraus!

Micha
 

Templon

Bekanntes Mitglied
Code:
 public Quadrangle(Point2D e, Point2D f, Point2D g, Point2D h){ 
      super(new Point2D[] {e,f,g,h});
       
   }
 

diggaa1984

Top Contributor
deine abstrakte klasse kann gar kein konstruktor haben, du kannst von solchen klassen keine objekte erzeugen. sofern du für alle unterklassen dieses Array vorschreiben willst, reicht doch eine protected-deklaration des selbigen. somit haben alle unterklassen ein Array namens points. Und jede unterklasse legt ihre punkte aus dem konstruktor dort hinein
 

diggaa1984

Top Contributor
gut scheint so, aber instanziieren ist nicht drin, und wenn er nur das array setzen möchte, kann er das auch gleich protected deklariern und in den unterklassen füllen :D
 
E

elduderdo_

Gast
jo danke, hab ich auch eben gemerkt. Jetzt fällt mir die Idee des Aufbaus auch viel leichter. Wusste nur nicht, dass ich "points" in quadrangle übernehmen kann ;)
 
G

Guest

Gast
Code:
abstract class Shape {
	Point2D[] points;
	
	public Shape(){
	}

	
	public String toString(){
	return new String( java.util.Arrays.toString( points ));
	}
	
	public void printShape(){
		for (int i=0; i<this.points.length; i++) {
			System.out.print("x"+(i+1)+": "+this.points[i].x+" y"+(i+1)+": "+this.points[i].y+"\n");
		}
	}

	public void moveAll(Vector2D a){
	     for (int i=0; i<this.points.length; i++) {
	    	 this.points[i].x += a.x;
	    	 this.points[i].y += a.y;
	         }
	      }	
	public void moveOne(Vector2D a,int j){
	     this.points[j-1].x += a.x;
	     this.points[j-1].y += a.y;
	      }	
	
}

Code:
public class Quadrangle extends Shape {
	
	public Quadrangle(Point2D e, Point2D f, Point2D g, Point2D h){
		super();
		points = new Point2D[]{e,f,g,h};
	}
	
}
 

Landei

Top Contributor
Kleiner Tipp:

Ändere den Konstruktor von Shape zu

Code:
public Shape(Point2D... points){
      this.points = points;
}

Dann kannst du einfach schreiben:
Code:
public Quadrangle(Point2D e, Point2D f, Point2D g, Point2D h){
      super(e,f,g,h);
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Vererbung von geschachtelten Arrays - Kundenkonto Java Basics - Anfänger-Themen 5
K Vererbung von Arrays Java Basics - Anfänger-Themen 4
H Vererbung von Arrays Java Basics - Anfänger-Themen 12
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
M Vererbung - Polymorphie Java Basics - Anfänger-Themen 37
L Java- Vererbung Java Basics - Anfänger-Themen 4
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 12
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 1
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
M Vererbung Java Basics - Anfänger-Themen 6
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Java Basics - Anfänger-Themen 7
D Vererbung Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
H Datenkapselung, Vererbung und UML Java Basics - Anfänger-Themen 16
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
G Vererbung Klassenattribute Java Basics - Anfänger-Themen 9
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
N Thema Vererbung Java Basics - Anfänger-Themen 31
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
Y Vererbung Konto - Anfangsprobleme Java Basics - Anfänger-Themen 7
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
N Modellierung, vererbung, Java Basics - Anfänger-Themen 163
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung im Computerspiel Java Basics - Anfänger-Themen 7
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
V Vererbung Java Basics - Anfänger-Themen 2
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
J Vererbung Java Basics - Anfänger-Themen 3
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
O Umgang mit Vererbung verstehen Java Basics - Anfänger-Themen 4
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
O Vererbung änderung des Konstruktors Java Basics - Anfänger-Themen 8
L Vererbung Java Basics - Anfänger-Themen 5
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
S Vererbung Java mehrfach Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
G Polymorphie, Vererbung, statischer Typ, Laufzeittyp Java Basics - Anfänger-Themen 2
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
S Vererbung Funktionsweise Code zur Vererbung Java Basics - Anfänger-Themen 1
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Generizität und Vererbung Java Basics - Anfänger-Themen 4
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
K Vererbung Octagon von Circle Java Basics - Anfänger-Themen 0
B Hilfe bei Vererbung Java Basics - Anfänger-Themen 2
D Vererbung Frage zum Klassenaufbau mit Vererbung Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 1
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
D Vererbung / Polymorphie Java Basics - Anfänger-Themen 5
O Vererbung Java Basics - Anfänger-Themen 5
MiMa Vererbung Theorie OK, Praxis ?? Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 10
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
J Kleinere Frage zur Vererbung/Objekterzeugung Java Basics - Anfänger-Themen 2
G Vererbung Java Basics - Anfänger-Themen 12
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
J Vererbung Vererbung von Methoden Java Basics - Anfänger-Themen 6
B Vererbung Java Basics - Anfänger-Themen 12
K Vererbung (super) Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
C Vererbung Java Basics - Anfänger-Themen 4
L Vererbung Java Basics - Anfänger-Themen 3
J Klassenorganisation | Vererbung Java Basics - Anfänger-Themen 1
B Vererbung Vererbung Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
A Benötige Hilfe bei Vererbung Java Basics - Anfänger-Themen 1

Ähnliche Java Themen


Oben