abstract & Polymorphismus

Status
Nicht offen für weitere Antworten.

Jayman

Bekanntes Mitglied
Hallo,
könnte mir vielleicht jemand bei der Lösung dieser schwierigen Aufgabe etwas behilflich sein?
Also,
"Der Anwender zunächst aufgefordert werden, eine Auswahl an geometrischen
Figuren zu treffen, die er später ausgeben möchte. Hierzu soll dem Anwender zu Beginn des Programms
GENAU folgender Dialog angezeigt werden:

Geben Sie eine geo. Form ein, zur Auswahl stehen:
Dreieck
Quadrat
Linie
Zum Beenden des Programmes geben Sie Ende ein.

Der Anwender kann dann eine der vier Zeichenketten („Dreieck“, „Quadrat“, „Linie“ oder „Ende“) eingeben.
Mittels Klick auf OK wird die Eingabe bestätigt und der Dialog soll erneut erscheinen. Der
Anwender soll so maximal 10 Figuren eingeben können. Möchte er weniger eingeben, so
kann er die Eingabe mittels Eingabe von „Ende“ beenden.
Im Anschluss an diese Eingabephase sollen dann die ausgewählten geometrischen Figuren
in der Anzahl, in der sie eingegeben wurden, untereinander ausgegeben werden."

Es gibt auch einen Hinweis zur Lösung:



->zu aller erst habe ich die drei Klassen geschrieben, für die geo. Figuren (war ja nicht ganz so schwer). Ich habe dabei wie im Hinweis gesagt public void printShape() verwendet. Ist das dann so korrekt?
->
Code:
public class Line {

	/**
	 * @param args
	 */
	public void printShape() {
		System.out.println("********");
	}
}


Code:
public class Square {

	/**
	 * @param args
	 */
	public void printShape() {
		System.out.println("***\n***\n***");
	}
}


Code:
public class Triangle {

	/**
	 * @param args
	 */
	public void printShape() {
		System.out.println("   *\n  ***\n *****");
	}
}

-> meine Frage, ob diese drei Klassen erst einmal stimmen?
Desweiteren habe ich ja die 'gegebene' Klasse ShapeApplication aus dem Hinweis, was soll ich dem Hinzufügen in der for Schleife? Die Eingabeoption mit JOptionPane (diese benutzen wir immer)?
Und diese Klasse Shape, wozu ist diese? Ich verstehe ja, dass ich zum Einen die 'Hauptklasse' benötige, die alles aufruft & die Eingabeoption besitzt, zum Anderen die einzelen Klassen für die geo. Figuren, aber wozu die Klasse Shape?
Ich hoffe, jemand findet durch diese Masse an Infos durch und könnte mir helfen.
 
G

Guest

Gast
Shape ist der Oberbegriff für alle anderen "Figuren". Das ist deine abstrakte Klasse, die gemeinsame Eigenschaften und Methoden enthält.
Code:
public abstract class Shape
{
   public abstract void printShape();
}

public class Line extends Shape
{ 
   public void printShape() 
   { 
      ...
   } 
}
usw. mit den anderen Shapes.
 

Jayman

Bekanntes Mitglied
Ok,
dann bekomme ich so etwas raus:

Code:
public abstract class Shape { 
   public abstract void printShape(); 
} 

public class Line extends Shape{
	public void printShape(){
				
	}
}

public class Square extends Shape{
	public void printShape(){
		
	}
}

public class Triangle extends Shape{
	public void printShape(){
		
	}
}

welche Sachen soll ich da einsetzen?
Void gibt doch nichts aus(?), also sicherlich nicht die geometrischen Figuren, oder?!
Und in der Klasse ShapeApplication, soll dort meine JOptionePane 'Anfrage' hinein?
 

Jayman

Bekanntes Mitglied
Könntet ihr mir denn sagen, ob meine Überlegungen richtig sind:
-in die ShapeApplication Klasse kommt meine JOptionPane Abfrage. Von den eingegebenen geometrischen Figuren, werde ich diese in einem Array speichern und wie gewünscht ausgegeben.
Ist die Überlegung richtig?
 
G

Guest

Gast
Jayman hat gesagt.:
Könntet ihr mir denn sagen, ob meine Überlegungen richtig sind:
-in die ShapeApplication Klasse kommt meine JOptionPane Abfrage. Von den eingegebenen geometrischen Figuren, werde ich diese in einem Array speichern und wie gewünscht ausgegeben.
Ist die Überlegung richtig?
Ja.
 

Jayman

Bekanntes Mitglied
Ok,
dann habe ich das eingefügt:
Code:
import javax.swing.JOptionPane;

public class ShapeApplication {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		String S = JOptionPane.showInputDialog("Bitte geben Sie eine geometrische Form ein. Zur Auswahl stehen:\nDreieck\nQuadrat\nLinie\n\nZum Beenden des Programms geben Sie bitte \"Ende\" ein.");
		Shape[] shapes = Shape[10];
		
		for (int i = 0; i < shapes.length; i++) {
			
		}

		for (int i = 0; i < shapes.length; i++) {
			if(shapes[i] != null){
				shapes[i].printShape();
				System.out.println("\n");
			}
			
		}
	}

}

Ich bin noch am Anfang vom Java lernen, deshalb vielleicht meine dumme Frage, aber weshaln steht beim
Code:
Shape[] shapes = Shape[10]
kein new vor Shape[10]?
In Eclipse ist das bei mir rot unterstrichen & wenn ich es 'selbst' einfüge, dann ist es ok...
 

Wildcard

Top Contributor
Ich verstehe es nicht ganz.
Es ist doch dein Code, oder? :bahnhof:
Da kommt schon ein new davor.
 

Jayman

Bekanntes Mitglied
Danke fürs antworten.
Also, wir haben einen Hinweis zur Lösung vorgegeben:



Und dort ist ja auch kein new...
 
S

SlaterB

Gast
häh? da steht doch dick new in Zeile 8 ;)
ist sogar hervorgehoben, da ein Java-Schlüsselwort
 

FelixB

Bekanntes Mitglied
also ich seh da in Zeile 8 ein "new"... oder wovon redest du gerade?

[edit] mist, zu langsam...
 

Jayman

Bekanntes Mitglied
Oh man,
habe es nicht mit abgetippt & somit mir fast das Genick gebrochen. Peinlich,peinlich...
OK, also werde ich jetzt mit der for Schleife das Array 'shapes' besetzten. Richtig?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
S Wann Methode abstract? Java Basics - Anfänger-Themen 10
O Verständniss Problem bei abstract class Java Basics - Anfänger-Themen 7
H abstract und interface Java Basics - Anfänger-Themen 4
H abstract - Wozu? Java Basics - Anfänger-Themen 6
B Interface vs Abstract Java Basics - Anfänger-Themen 2
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J OOP Wie sollte ich das organisieren (Abstract? Interface?) Java Basics - Anfänger-Themen 33
Azazel Ist die abstract class das selbe wie ein interface ? Java Basics - Anfänger-Themen 33
S Compiler-Fehler not abstract and does not override Java Basics - Anfänger-Themen 9
M abstract method does not override or implement.... Java Basics - Anfänger-Themen 7
B Fehler : class is abstract and does not overwrite Java Basics - Anfänger-Themen 2
B klasse abstract Java Basics - Anfänger-Themen 9
R Wofür abstract? Java Basics - Anfänger-Themen 29
E Klasse abstract machen Java Basics - Anfänger-Themen 3
G Schlüsselworte Bedeutung von abstract Java Basics - Anfänger-Themen 2
C Liste mit Attribut Abstract vererben Java Basics - Anfänger-Themen 11
Y Theorie: Abstract Method Java Basics - Anfänger-Themen 6
P Problem mit Eclipse "must be declared as abstract" Java Basics - Anfänger-Themen 3
O Abstract Method & Generics Java Basics - Anfänger-Themen 10
B abstract static Java Basics - Anfänger-Themen 16
T abstract class Java Basics - Anfänger-Themen 8
K abstract Java Basics - Anfänger-Themen 8
W abstract static Java Basics - Anfänger-Themen 3
F does not overwride abstract method Java Basics - Anfänger-Themen 2
G Verständnisfrage zum Interface und Abstract Java Basics - Anfänger-Themen 3
A in abstract Klasse private Variablen Java Basics - Anfänger-Themen 3
K Problem mit Abstract Table Model Java Basics - Anfänger-Themen 5
D Fehlermeldung "Time is not abstract" Java Basics - Anfänger-Themen 6
T Problem mit Abstract Windowing Toolkit(simples Problem) Java Basics - Anfänger-Themen 8
P Adaptor, Abstract Factory Java Basics - Anfänger-Themen 12
K <class> is not abstract and does not override abstract Java Basics - Anfänger-Themen 5
S Brauche Hilfe bei "abstract" Java Basics - Anfänger-Themen 12
G fenster abstract Java Basics - Anfänger-Themen 18
R abstract class <-> instance Java Basics - Anfänger-Themen 6
G Abstract Class - Abstract Method Java Basics - Anfänger-Themen 4
M Polymorphismus Java Basics - Anfänger-Themen 4
N Frage zum dynamischen Polymorphismus Java Basics - Anfänger-Themen 1
H Polymorphismus-Überschreiben Java Basics - Anfänger-Themen 1
V Frage zu Polymorphismus: Objekt der Subklasse in Referenz der Oberklasse Java Basics - Anfänger-Themen 4
1 Frage bzgl. Polymorphismus Java Basics - Anfänger-Themen 6
D Polymorphismus Java Basics - Anfänger-Themen 5
S Polymorphismus Problem Java Basics - Anfänger-Themen 3
S Polymorphismus bei Arrays Java Basics - Anfänger-Themen 7
D Objektorientierung / Polymorphismus Java Basics - Anfänger-Themen 8
G Polymorphismus und die richtige Anwendung Java Basics - Anfänger-Themen 6
G Polymorphismus & Erweiterbarkeit Java Basics - Anfänger-Themen 3
G Polymorphismus und Null Java Basics - Anfänger-Themen 8
S Polymorphismus und Vererbung Java Basics - Anfänger-Themen 6
P Frage zum Polymorphismus Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben