Abstrakte Klasse

TakTik

Neues Mitglied
Hey!
Ich soll eine abstrakte Oberklasse "Gegenstand" programmieren, die Name(String getName()), Gewicht (int getGewicht()) und zerbrechlichkeit beinhaltet. Weiters 5 Gegenstandsklassen, die davon abgeleitet werden. Bis dahin kein Problem.. Jetzt soll ich allerdings eine weitere Klasse Koffer programmieren, die auch ein Gegenstand ist.. In der Klasse soll es eine Methode int getGewicht() geben, die das Gesamtgewicht berechnet.. Wie mach ich das denn? wie ruf ich denn das Gewicht der anderen Gegenstände auf? Ich habe es mit Koffer.getGewicht() oder Pullover.getGewicht() probiert, aber das funktioniert nicht.. Vielleicht irgendwie mit super?
Ich soll auch eine Arraylist<Gegenstand> machen, in der alle Gegenstände gespeichert werden.. Das hab ich folgendermaßen gemacht:

Java:
private ArrayList<Gegenstand> inhalt= new ArrayList<Gegenstand>();
	inhalt.add(Pullover);

das funktioniert leider auch nicht.. wo liegt denn mein Fehler?

Es wäre echt toll, wenn mir jemand helfen könnte, da ich im Moment alleine echt nicht weiter komme!
 
G

Gelöschtes Mitglied 5909

Gast
zuerst packst du die gegenstände die du im "koffer" haben willst in die kiste.
Wenn du dann das Gesamtgewicht ausrechnen willst, dann iterierst du über die Liste

So etwa:

Java:
public class Koffer extends Gegenstand {

	private List<Gegenstand> kofferInhalt;
	
	public Koffer(List<Gegenstand> kofferInhalt;) {
		this.kofferInhalt = kofferInhalt;
	}
	
	public Koffer() {
		this(new ArrayList<Gegenstand>());
	}
	
	public void gegenstandHunzufuegen(Gegenstand gegenstand) {
		kofferInhalt.add(gegenstand);
	}
	
	public int getGewicht() {
		int summe = 0;
		for (Gegenstand gegenstand : kofferInhalt) {
			summe += gegenstand.getGewicht();
		}
		return summe;
	}

}
 

Suinos

Bekanntes Mitglied
Eine Klasse kannst du dir als Blaupause von Objekten vorstellen.
Es ist selber kein Objekt, aber mit ihr kann man Objekte erstellen (und weiteres).

Wenn du jetzt ein Objekt einer Klasse erstellen willst, musst du einen Konstruktor dieser aufrufen.
(Woran du einen Konstruktor erkennen kannst ist dir klar?)

Möglicherweise hat
Code:
Pullover
einen default-Konstruktor, dann würde dies so aussehen:
Java:
new Pullover();

Damit wir dieses Objekt auch verwenden können, brauchen wir eine Variable mit einer Referenz darauf, zum Beispiel so:
Java:
Pullover pulli = new Pullover();

Auf diese Referenz (
Code:
pulli
) kannst du jetzt die Methoden der Klasse
Code:
Pullover
anwenden:
Java:
Pullover pulli = new Pullover();
int weight = pulli.getGewicht();

--

Das da oben ist das Grundlegende zu Klassen.
Hier noch etwas erweitertes:

Da die Klasse
Code:
Pullover
auch ein
Code:
Gegenstand
ist (
Code:
Pullover extends Gegenstand
),
kannst du auch dies schreiben:
Java:
Gegenstand item = new Pullover();
int weight = item.getGewicht();

Dies funktioniert, da die (abstrakte) Klasse
Code:
Gegenstand
die Methode
Code:
getGewicht()
vorgibt, welche von allen Kindklassen implementiert werden muss.

Dies macht vor allem dann Sinn, wenn dir das wirkliche Objekt egal ist, solange es ein
Code:
Gegenstand
ist:

Java:
public static void main(String... args)
{
	Gegenstand item;
	item = new Pullover();
	
	// Aufruf mit dem Objekt hinter der Referenz
	print(item);
	
	// Aufruf mit einem neuen Objekt, welches danach nicht mehr erreichbar ist
	print(new Koffer());
}

private static void print(Gegenstand item)
{
	System.out.println("Name: " + item.getName());
	System.out.println("Gewicht:" + item.getGewicht());
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
E abstrakte Klasse implementiert ein Interface Java Basics - Anfänger-Themen 40
T Abstrakte Klasse und Interfaces Java Basics - Anfänger-Themen 12
D Abstrakte Klasse, Konstruktorkette, Attribute setzen Java Basics - Anfänger-Themen 12
J abstrakte Methode in Klasse mit Rückgabetyp der abgeleiteten Klasse Java Basics - Anfänger-Themen 5
I Abstrakte Klasse - static Attribute deklarieren Java Basics - Anfänger-Themen 14
T Übungsaufgabe abstrakte Klasse Java Basics - Anfänger-Themen 21
kilopack15 Beziehung Interface - (abstrakte) Klasse -Unterklasse Java Basics - Anfänger-Themen 3
K Abstrakte Klasse: vererbte Klasse; instance of? Java Basics - Anfänger-Themen 26
N Vererbung Abstrakte Klasse stateful Java Basics - Anfänger-Themen 3
W Abstrakte Klasse mit Variable? Java Basics - Anfänger-Themen 2
A Vererbung Abstrakte Klasse mit Methode die Objekte der Subklassen benutzt? Java Basics - Anfänger-Themen 7
W Abstrakte und konkrete Klasse Java Basics - Anfänger-Themen 4
F Abstrakte Klasse doch zum "Teil" instanzieren? Java Basics - Anfänger-Themen 4
M Statische Methoden in Interface/Abstrakte Klasse Java Basics - Anfänger-Themen 6
N Datentypen abstrakte Klasse wird instanziert Java Basics - Anfänger-Themen 3
propra Interface - abstrakte Klasse Java Basics - Anfänger-Themen 18
N Abstrakte Klasse Java Basics - Anfänger-Themen 28
L Über abstrakte Klasse auf eine Klasse zugreifen? Java Basics - Anfänger-Themen 6
D Wann genau abstrakte Klasse und wann ein Interface verwenden? Java Basics - Anfänger-Themen 4
StupidAttack Abstrakte Methoden in nicht-abstrakter Methode in abstrakter Klasse Java Basics - Anfänger-Themen 6
S Abstrakte Klasse Java Basics - Anfänger-Themen 5
K Abstrakte Klasse vs. Interface Java Basics - Anfänger-Themen 21
K Abstrakte Klasse bilden? Java Basics - Anfänger-Themen 11
S Abstrakte Klasse, festlegen, dass Methode verändert werden muss. Java Basics - Anfänger-Themen 4
H Warum Java? | Abstrakte Klasse = Modul? Java Basics - Anfänger-Themen 20
J abstrakte klasse und methode super Java Basics - Anfänger-Themen 2
H Eine Abstrakte Klasse muss. Java Basics - Anfänger-Themen 7
G Abstrakte Klasse "Point" Java Basics - Anfänger-Themen 2
G Abstrakte Methode in gleicher Klasse aufrufen Java Basics - Anfänger-Themen 5
M abstrakte Klasse Java Basics - Anfänger-Themen 3
F Abstrakte Klasse: Konstruktor vs init() Java Basics - Anfänger-Themen 13
G Abstrakte Klasse (was passiert hier) Java Basics - Anfänger-Themen 3
G Interface oder Abstrakte Klasse? Java Basics - Anfänger-Themen 3
Acha Unterschied Interface - abstrakte Klasse Java Basics - Anfänger-Themen 4
B OOP: abstrakte klasse implementiert interface Java Basics - Anfänger-Themen 3
D Abstrakte Klasse Graphics Java Basics - Anfänger-Themen 3
A Abstrakte Klasse Java Basics - Anfänger-Themen 3
G abstrakte klasse Java Basics - Anfänger-Themen 6
F Abstrakte Klasse Baum Java Basics - Anfänger-Themen 6
J Methodenaufrufe abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 17
M Abstrakte Klassen - Notation Java Basics - Anfänger-Themen 9
S Vererbung Abstrakte Methoden: Wozu das Ganze?! Java Basics - Anfänger-Themen 7
S abstrakte methoden in subclass? Java Basics - Anfänger-Themen 7
G Abstrakte Klassen Java Basics - Anfänger-Themen 11
G Java Abstrakte Methoden Java Basics - Anfänger-Themen 2
L Abstrakte Typen und Schnittstellen Java Basics - Anfänger-Themen 19
S Abstrakte Methode nutzen Java Basics - Anfänger-Themen 9
J Objekte und Abstrakte Klassen Java Basics - Anfänger-Themen 2
J Java Interface/abstrakte Klassen Java Basics - Anfänger-Themen 2
M Erste Schritte Prüfungsbeispiel: Interface / abstrakte Klassen Java Basics - Anfänger-Themen 8
A Interface Abstrakte Interface Methode kann nicht benutzt werden Java Basics - Anfänger-Themen 10
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Datentypen Abstrakte Datentypen Java Basics - Anfänger-Themen 0
A Abstrakte Datentypen - Methode delete Java Basics - Anfänger-Themen 6
D Abstrakte Klassen Verständniss Frage Java Basics - Anfänger-Themen 4
D Methoden Abstrakte Methoden Java Basics - Anfänger-Themen 3
D Interface Interfaces und abstrakte Klassen implementieren Java Basics - Anfänger-Themen 4
B Abstrakte Klassen Java Basics - Anfänger-Themen 7
C Abstrakte und virtuelle Methoden in Java Java Basics - Anfänger-Themen 4
E verdeckte abstrakte Methode sinnvoll? Java Basics - Anfänger-Themen 7
S Abstrakte Klassen Java Basics - Anfänger-Themen 2
C Dynamische Referenz & abstrakte Klassen Java Basics - Anfänger-Themen 3
V Interface Interfaces und abstrakte Klassen Java Basics - Anfänger-Themen 3
H Abstrakte Basisklasse Verständnisproblem! Java Basics - Anfänger-Themen 8
G Abstrakte Klassen - theoretische Frage Java Basics - Anfänger-Themen 2
OnDemand Abstrakte Klassen Java Basics - Anfänger-Themen 4
T OOP Abstrakte Klassen und ihre Kinder: wie läuft das? Java Basics - Anfänger-Themen 3
M Abstrakte Klassen Java Basics - Anfänger-Themen 2
J Interfaces Abstrakte Klassen Java Basics - Anfänger-Themen 15
M Interface und Abstrakte Klassen Java Basics - Anfänger-Themen 12
D Methoden abstrakte Methoden und Rückgabewerte Java Basics - Anfänger-Themen 2
B Abstrakte Methode vs. Interface Java Basics - Anfänger-Themen 2
R Namenskonvention abstrakte Klassen Java Basics - Anfänger-Themen 6
C OOP Objektstruktur: abstrakte Klassen Java Basics - Anfänger-Themen 3
V Vererbung Abstrakte Methode Java Basics - Anfänger-Themen 3
T OOP abstrakte klassen - methoden Java Basics - Anfänger-Themen 8
M Abstrakte Klassen Java Basics - Anfänger-Themen 21
J Welchen Sinn haben abstrakte Methoden? Java Basics - Anfänger-Themen 4
D Abstrakte Klassen und Interfaces als Paramter in Funktionen Java Basics - Anfänger-Themen 3
T Interfaces: Braucht man abstrakte Klassen eigentlich noch? Java Basics - Anfänger-Themen 3
T OO, Konstruktor, abstrakte Methoden Java Basics - Anfänger-Themen 13
T Abstrakte Klassen Java Basics - Anfänger-Themen 6
C abstrakte Klassen mögen mich nicht... Java Basics - Anfänger-Themen 2
I Abstrakte Klassen Java Basics - Anfänger-Themen 8
D Zusammenfassung von Klassen (Vererbung? Abstrakte Klass? ...?) Java Basics - Anfänger-Themen 8
G Abstrakte Klassen und Methoden Java Basics - Anfänger-Themen 3
C Schnittstellen und Abstrakte Klassen Java Basics - Anfänger-Themen 3
I Abstrakte Klassen Java Basics - Anfänger-Themen 22
G Abstrakte Klassen ? Java Basics - Anfänger-Themen 9
nadoria abstrakte Klassen Java Basics - Anfänger-Themen 6
M Unterscheid Abstrakte Klassen/Interface Klassen? Java Basics - Anfänger-Themen 7
T abstrakte Klassen? Java Basics - Anfänger-Themen 2
G konkretes beispiel: interface hier besser als abstrakte kl. Java Basics - Anfänger-Themen 4
M abstrakte klassen und interfaces Java Basics - Anfänger-Themen 2
L abstrakte Methode nicht implementiert! Java Basics - Anfänger-Themen 5
M abstrakte klassen / Schnittstellen Java Basics - Anfänger-Themen 4
H abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 13
R Interfaces durch abstrakte Klassen ersetzbar? Java Basics - Anfänger-Themen 8
A Eine abstrakte Methode static machen? Java Basics - Anfänger-Themen 4
A Abstrakte Klassen und Interfaces Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben