Vererbung

iris

Mitglied
Hallo Leute,
habe ein Problem mit dieser Vererbung Aufgabe.
Ich brauche eure Hilfe....:)


Gegeben sei folgende Objektklasse:

class Fahrzeug {
private String typ;
private int sitzplaetze;

public Fahrzeug (String typ){
setTyp(typ);
}
void setTyp(String typ){
this.typ = typ;
}
public setSitzplaetze (int sitzplaetze){
this.sitzplaetze = sitzplaetze;
}
public String getTyp(){
return typ;
}
public int sitzplaetze (){
return sitzplaetze;
}
public String info (String text){
String ausgabe = text + „ „+typ;
return ausgabe;
}
}

Schreiben Sie eine Klasse „Bus“, welche die Klasse „Fahrzeug“ beerbt. Die beiden Attribute typ und sitzplaetze sollen über den Konstruktor initialisiert werden.

Stellen Sie in der Klasse „Bus“ sicher, dass für die Anzahl der Sitzplätze nur Werte von 0 bis 100 (beide Werte einschließlich) gesetzt werden. Werden andere Werte eingegeben, setzen Sie den Wert für die Sitzplätze auf -1.

Überschreiben Sie in der Klasse „Bus“ die Methode info(), indem Sie sie um die Ausgabe der Anzahl der Sitzplätze erweitern. Verwenden Sie dabei die Methode info() der Elternklasse.
 

kaoZ

Top Contributor
1. Java Code in Java Tags
2. Was und wo ist deine Frage / dein Problem ?

ausserdem ist dein Code Fehlerhaft.

Hier mal in Java Tags, anders formatiert und korrigiert.

Java:
public class Fahrzeug {
	private String typ;
	private int sitzplaetze;

	public Fahrzeug (String typ){
		setTyp(typ);
	}
	void setTyp(String typ){
		this.typ = typ;
	}
	public void setSitzplaetze (int sitzplaetze){
		this.sitzplaetze = sitzplaetze;
	}
	public String getTyp(){
		return typ;
	}
	public int sitzplaetze (){
		return sitzplaetze;
	}
	public String info (String text){
		return text + " " + typ; 
	}
}


mal davon abgesehen deklarierst du hier die Attribute als private , demnach hat auch keine erbende klasse zugriff auf diese, richtig wäre hier protected.

Zudem sollte die Klasse Fahrzeug abstract sein.

Du musst eine Klasse Bus schreiben welche diese klasse hier erweitert, dann die methode zum ändern der sitzplätze so überschreiben und eine abfrage hinzufügen ob sich die als parameter übergebene Anzahl im gewünschten Bereich befindet.

Zeig doch mal deinen Ansatz ;)
 
Zuletzt bearbeitet:

iris

Mitglied
Bin bis hier hin gekommen, weiß aber nicht ob ich richtig liege.
Habe zwei unterschiedliche Prof´s, die es unterschiedlich erklären -.-

Java:
public class Bus extends Fahrezeug{
	public static void main (String args[]){
	
	public Bus (String typ, int sitzplaetze){
		super (typ, sitzplaetze);
	}



Ich weiß nicht, wie ich in die Anzahl der Sitzplätze von 0 bis 100 in der Klasse 'Bus' sicherstelle. Ich sitze schon seit heute morgen dabei aber komme leider nicht weiter -.-
 

kaoZ

Top Contributor
du könntest setSitzplaetze überschreiben und dort entsprechend prüfen

ganz genau, du kannst das entweder im konstruktor machen , oder du überschreibst die methode setSitzplaetze() so das du dort erstmal abfragst ob der übergabeparameter im gewünschten Bereich liegt .

kleiner Tip :

mit einer If-Anweisung oder einem Tenären Operator kannst du sicherstellen das die/der Parameter im gewünschten Bereich liegt.

ganz grob könnte man das so machen ( methoden tragen hier aus schreibfaulheit andere namen ) :

und darauf hinzuweisen das ich hier lediglich an die superklasse delegiere , habe ich mal super. mit hingeschrieben. kann man aber auch weglassen :)

Java:
public class Bus extends Fahrzeug{

	
	//tenärer Operator
	@Override
	public void setAnzahlSitze(int sitze){
		super.setAnzahlSitze(sitze < 0 || sitze > 100 ? -1 : sitze);
	}
	
	//if anweisung
	@Override
	public void setAnzahlSitze(int sitze){
		if(sitze < 0 || sitze > 100) {
			super.setAnzahlSitze(-1);
		}
		else{
			super.setAnzahlSitze(sitze);
		}
	}
	
	
	public static void main(String[] args){
		Fahrzeug b = new Bus();
		
		b.setAnzahlSitze(50);
		
		System.out.println(b.getAnzahlSitze());
		
	}
}
 
Zuletzt bearbeitet:

iris

Mitglied
Danke erstmal :)

habe jetzt zwar alles, aber bekomme eine Fehlermeldung mit der ich nichts anfangen kann.
habe einiges versucht doch gescheitert.

Java:
public class Fahrzeug {
	private String typ;
	private int sitzplaetze;

	public Fahrzeug (String typ){
		setTyp(typ);
	}
	void setTyp(String typ){
		this.typ = typ;
	}
	void setSitzplaetze(int sitzplaetze){
		this.sitzplaetze = sitzplaetze;
	}
	public String getTyp(){
		return typ;
	}
	public int getSitzplaetze (){
		return sitzplaetze;
	}
	public String info (String text){
		String ausgabe = text + " "+ typ;
		return ausgabe;
	}
}

und die Hauptklasse

Java:
public class Bus extends Fahrzeug{
	
	
	public void setSitzplaetze(int sitzplaetze){
		if(sitzplaetze < 0 || sitzplaetze > 100) {
			super.setSitzplaetze(-1);
		}
		else{
			super.setSitzplaetze(sitzplaetze);
		}
	}
 
 
	public static void main(String[] args){
		Fahrzeug b = new Bus();
 
		b.setSitzplaetze(50);
 
		System.out.println(b.getSitzplaetze());
 
	}
}

bekomme immer diese Fehlermeldung
Bus.java:1: error: constructor Fahrzeug in class Fahrzeug cannot be applied given types..

wie kann ich vorgehen -.- ?
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Du musst einen Konstruktor definieren , der dem der Superklasse entspricht

also in der Klasse Bus

Java:
public Bus(String type){
   super(type);
}

dies sollte dir die IDE aber auch als Fehler anzeigen ;)#


Ist die Fehlermeldung denn jetzt weg ? ;)
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Java:
public class Fahrzeug{

	private int anzahlSitze;
	private String type;
	
	public Fahrzeug(String type){
		setType(type);
	}
	
	public void setAnzahlSitze(int sitze){
		anzahlSitze = sitze;
	}
	
	public void setType(String type){
		this.type = type;
	}
	
	public String getType()			{return type;}
	public int getAnzahlSitze()		{return anzahlSitze;}
	
}

und hier der Bus incl. main Methode

Java:
public class Bus extends Fahrzeug{

	public Bus(String type){
		super(type);
	}
	
	@Override
	public void setAnzahlSitze(int sitze){
		super.setAnzahlSitze(sitze < 0 || sitze > 100 ? -1 : sitze);
	}

	public static void main(String[] args){
		Fahrzeug b = new Bus("Bus");
		
		b.setAnzahlSitze(20);
		
		System.out.println(b.getAnzahlSitze());
	}
}

kopiere dir das mal und nutze dies um weiterzumachen , der von dir zuerst gepostete Code war wie gesagt Fehlerhaft, da auch teilweise Rückgabewerte fehlten . ;)
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Schreiben Sie eine Klasse „Bus“, welche die Klasse „Fahrzeug“ beerbt. Die beiden Attribute typ und sitzplaetze sollen über den Konstruktor initialisiert werden.

zu diesem Problem kannst du einfach folgenden Konstruktor in der Klasse Bus definieren :

Java:
public Bus(String type, int sitze){
   this(type); // oder auch super(type);
   setAnzahlSitze(sitze);
}

und das Objekt dann so erzeugen :
Java:
Fahrzeug b = new Bus("Bus", 50);
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
1 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
M Anfängerprobleme mit Vererbung Java Basics - Anfänger-Themen 27
J Vererbung Java Basics - Anfänger-Themen 9
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben