ZULETZT ANGESEHEN
Fehlende Inhalte werden bald hinzugefügt! ×
- Was ist eine Klasse?
- Was ist ein Objekt?
- Was ist ein Attribut?
- Was ist eine Methode (Funktion/Prozedur)?
- Wozu dient ein „Konstruktor“?
Antwort:
Eine Klasse ist eine Art Vorgabe für Objekte. Sie definiert welche Attribute einem Objekt zugewiesen werden. Hier zum Beispiel die Klasse "Auto"
Antwort:
Ein Objekt ist an seine Klasse gebunden und enthält Werte für alle von der Klasse definierten und im Objekt initialisierten Attribute. Hier zb alle von "Auto" generierten Objekte
Antwort:
Ein Attribut ist ein Datenwert der das Objekt "charakterisiert". Beispielweise Kennzeichen, Kilometerstand oder TankVolumen
Antwort:
Eine Funktion wird verwendet wenn ein Wert zurückgegeben werden soll. Integer, String, Double, Void (keinen Wert), und weitere. Beispielsweise rufen wir eine Funktion und erhalten einen Wert zurück. Eine Prozedur hingegen ist Code der ausgeführt wird und keinen Rückgabewert hat. Also eine Aktion ohne Rückgabewert Diese beiden werden in Java als Methode zusammengefasst. Beispielsweise die getX() oder setX() Methoden. Im Falle des AutoHauses ist "getKennzeichen()" eine Methode
Antwort:
Der Konstruktor initalisiert die Objekte und Attribute der Klasse. Man kann einen eigenen Konstruktor in den Code programmieren. Falls doch keiner vorhanden ist übernimmt das der Kompiler.
Das war es jetzt aber nicht mit der Aufgabe! Wir müssen ja noch die Zusatzaufgabe bearbeiten! Diese Aufgabe unterscheidet sich sehr zu den Aufgaben die ihr in der E-Phase noch hattet! Auf den ersten Blick sieht es sehr komplex aus, doch wenn man es sich genauer ansieht ist es garnicht so komplex :)
Ich nutze mal die Gelegenheit um euch eine kurze Geschichte zu erzählen. Zur Zeit in welcher ich das gerade schreibe (25.08.2025) bin ich in die Q Phase gekommen. Noch in der ersten Info Stunde dachte ich mir "Was bitte ist das?!". Ich hatte solche Codes zwar schon gesehen und war ein kleines wenig mit Ihnen vertraut, aber ich hatte sie mir noch nie wirklich näher angeschaut. Auch im Unterricht noch nie (Zumindest nicht bei Herr Kizina). Ich hatte die Aufgabe gesehen und wusste erst nicht was ich machen soll. Nicht nur ich, der gesamte Informatik Kurs war am verzweifeln, da die meisten von uns Herr Kizina als Lehrkraft in den vorherigen Jahren hatten. Doch es gab einen Informatik "Crackhead", welcher so gut in Info war das er nicht nur dem GESAMTEN INFORMATIK KURS die Aufgabe erklärt hat, sondern auch noch Fehler in der Aufgabe gefunden hat! Ich habe es inzwischen weitgehend verstanden. Es war nur der Anfang den man braucht um es richtig verstehen zu können! Darum gib nicht direkt auf, wenn du diese Art von Aufgaben siehst! Hier bin ich der "Crackhead" der dir die Aufgabe näher bringen und erklären wird! Darum lass uns zurück zur Aufgabe.
Die Aufgabenstellung lautet:
Ergänzen Sie den Inhalt der Methoden tanken und fahren in der Klasse „Auto“ sinnvoll.
Lösungsprozess der Aufgabe:
/**
*
* Das fertige Java Programm des Autohauses (OOP in Java)
*
* @version 1.0 vom 25.08.2025
* @MeinInfoKurs.github.io
*/
/**
*
* Beschreibung
*
* @version 1.0 vom 20.08.2025
* @David
*/
public class Auto {
// Anfang Attribute
// Hier setzen wir die Attribute, welche unsere Objekte haben soll
private String Kennzeichen;
private double Kilometerstand;
private double TankVolumen;
private double Kraftstoffverbrauch; // L / 100km
private double Kraftstoffmenge;
// Ende Attribute
// Unsere Main Methode mit welcher wir die Objekte "initialisieren". Das ist unser Konstruktor
public static void main(String[] args) {
Auto auto1 = new Auto("WI - EN 107" /* Kennzeichen */, 40 /* TankVolumen */, 5 /* KraftStoffVerbrauch pro 100KM */);
auto1.tanken(30); // Wir tanken unser Auto mit 30 L Tank
auto1.fahren(10); // Wir fahren 10 Kilometer
System.out.println(auto1.getKilometerstand()); // Wir rufen die Funktion der getKilometerstand() für das Objekt auto1 -> Wir drucken den gefahrenen Kilometerstand von auto1 in die Konsole aus
}
public Auto(String Kennzeichen, double TankVolumen, double Kraftstoffverbrauch) {
this.Kennzeichen = Kennzeichen;
this.Kraftstoffverbrauch = Kraftstoffverbrauch;
this.TankVolumen = TankVolumen;
this.Kilometerstand = 0;
this.Kraftstoffmenge = 0;
}
// Anfang Methoden
public String getKennzeichen() {
return Kennzeichen;
}
public double getKilometerstand() {
return Kilometerstand;
}
public double getTankVolumen() {
return TankVolumen;
}
public double getKraftstoffverbrauch() {
return Kraftstoffverbrauch;
}
public double getKraftstoffmenge() {
return Kraftstoffmenge;
}
public void tanken(double Menge){
// TODO
double restVolumen = TankVolumen - Kraftstoffmenge; // Wir berechnen den noch übrigen Tank
if (Menge > restVolumen) { // "Menge" heißt hier wie viel Menge wir noch tanken können
System.out.println("Geht nicht."); // Zu wenig platz im Tank
return;
} // end of if
System.out.println("Du bist am Tanken");
Kraftstoffmenge += Menge;
}
public void fahren(double Strecke){
//TODO
double davidThievonFahrenVerbrauch /* Wert soll in Liter sein */ = (Strecke / 100) * Kraftstoffverbrauch; // Wir berechnen hier wie viel Liter die Strecke beansprucht
if (davidThievonFahrenVerbrauch > Kraftstoffmenge) {
System.out.println("Geht nicht. Zu wenig Tank");
return;
} // end of if
System.out.println("Auf gehts. Die Fahrt hat begonnen!!");
Kraftstoffmenge -= davidThievonFahrenVerbrauch;
Kilometerstand += Strecke;
}
// Ende Methoden
} // end of Auto
In der Aufgabenstellung wird gefordert, dass wir folgende Funktionen in unseren Code implementieren:
- X
- X
- X
- X
- X
- X
- X
X
X
X
X
X
X