[Java] Setter, Getter Anfängerfrage

Mich würde jetzt noch interessieren wie das aussieht wenn ich mit set und get rechne?

zum beispiel der bereits vorhandene vkpreis bekommt eine double rabatt von 5%.

Beispielcode wäre toll.
 
Wie genau meinste das? du rechntest ja nicht in der klasse gebrauchtwagen sondern in der main methode.. ziehst den preis mit get .. rechntest 5% raus ... dann kannst den rabatt ja ausgeben .. kannst ja irgendwo noch in einer klasse die rabatte festlegen die du dann vorher noch ziehst .. oder machst nen scanner .. und fragst wieviel rabatt gerechnet werden soll
 
Was ich jetzt net checke... eigentlich sind getter und setter doch auch dazu gedacht dass ich eben keine variablen direkt in der main methode habe oder?
Was im Fall einer Berechnung durch einen Scanner in der Startklasse (oder main) ja unumgänglich wäre?
 
Natürlich kannst du Variablen in der main-Methode haben. Du solltest aber nicht direkt auf die Variablen eines Objektes zugreifen können, daher verwendest du getter- und setter-Methoden.

Stichwort "Information Hiding"


Ich denke es wäre angebracht, sich Einsteiger-Lektüre zu besorgen. Mein Tipp dazu ist: "Java als erste Programmiersprache". Die "Insel" ist natürlich auch zu empfehlen, ist jedoch eher eine Referenz und nicht so gut für den Einstieg geeignet.


Gruß
 
Zuletzt bearbeitet:
Ok dann habe ich da wohl nur etwas falsch verstanden. Ich dachte man versteckt sozusagen die Variablen in anderen Klassen.

Hier noch eine Frage:
Quellcode:

System.out.println("Bitte Verkaufspreis eingeben: ");
Scanner vkEinleser = new Scanner(System.in);
double wert1 = vkEinleser.nextDouble();
testwagen.setVkpreis(wert1);

// habe so jetzt das einlesen des vkpreises in der main Methode gelöst. Meine Frage ist nun wie lese ich eine String für das Kennzeichen ein?
 
So auch gelöst. Danke nochmal für die hilfreichen Antworten.

Set und Get Methoden sind mir nun um einiges klarer geworden.
Allerdings check ich eine Sache immernoch nicht.

Wie führe ich Berechnungen darin aus? O_O
Und dass er mir den berechneten Wert wieder in die Startklasse zurückgibt.
 
was willst du denn berechnen .. und was is daran so schwer? ...
nehmen wir die methode add_cost(object dings)
da im body einfach zu den im object abgespeicherten costen die zahl dings hinzufuegen..
wenn du jetzt die methode aus der main aufrufst.. hast du zum preis irgendein betrag hinzugefuegt..
 
Ich glaub ich verstehe...

Also wenn ich zum Beipiel nen Rabatt von 10 % auf den vkpreis haben möchte wäre dass dann:

public void berechneVkpreis (double ergebnis)
{
ergebnis = vkpreis*0.90
return ergebnis
}

stimmt das?
 
kannst es ja mal in eclipse rein schreiben und schauen was fuer ne error msg kommt. hierzu solltest ud noch mal die letzte zeile des bodys und die ersten woerter des headers pruefen
 
"ergebnis" sollte nicht als Argument übergeben (irgendwie sinnlos :D), sondern in der Methode als lokale Variable definiert werden.
 
public void berechneVkpreis ()
{
double ergebnis = vkpreis*0.90
return ergebnis
}

Öhm so?
 
Stimmt - der Typ der Funktion muß der gleiche sein wie der Typ des Werts, den du returnst, also "public double berechneVkpreis()".
 
Da haperts aber noch extrem an den Basics. Du solltest wirklich erstmal ein Buch zur Einführung in OOP in Java lesen und nicht blind rumprobieren.
 
Natürlich haperts an den Basics. Deswegen bin ich ja hier :D
Außerdem brauch ich den Mist zu 99% in meinem späteren Berufsleben nicht mehr.
Java wird halt beim Systemkaufmann mit durch gekaut. Finde es recht schwachsinnig. Ok dient halt dazu nen grundlegenden Einblick in die Programmierung zu bekommen.

Ja das Buch kauf ich ja noch wenn wieder Kohle da ist.
Aber die Aufgabe ist hier und jetzt ^^

Also weiter im Text. Wenn ich oben genannte Methode jetzt in der Startklasse ausgeben möchte und Sie aus der Klasse Gebrauchtwagen hole würde das in der Startklasse so aussehen oder?:

...

Gebrauchtwagen berechnung = new Gebrauchtwagen();

System.out.println("Rabttierter Preis beträgt:" + berechnung.berechneVkpreis());

...

Korrekt?
 
Zurück
Oben