Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Es tut genau das, was man bei einem Konto erwarten würde. Der Name der Methode ist jedoch äußerst schlecht gewählt. Ein "changeBy(x)" oder "transfer(x)" wäre besser gewesen.4) void BankKonto :: setKontostand(double Betrag) tut nicht das was man erwarten würde.
Community-Fossil
Mh mein Prof würde jetzt den Finger heben und meckern Mit Kenntnis des Programmkontext tut die Methode so gar nicht was man erwarten würde. Die Methode ist Public und ermöglicht uneingeschränkten Schreibzugriff ohne jegliche Authentifizierung und Validierung des Kontostandes: in einer konkreten Anwendung brutal fatal. Ich denke das meinte auch Tankard.Es tut genau das, was man bei einem Konto erwarten würde.
Diese Methodennamen würden bei dem vorhandenem Body absolut gar nicht passen, denn es wird nichts transferiert sondern der Kontostand wird überschrieben. Ein transfer(-199.0) würde dich ganz schön arm machenEin "changeBy(x)" oder "transfer(x)" wäre besser gewesen.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (21.01.2014, 07:20)
Du hast den Programmcode von ihm falsch gelesen, ansonsten hättest du recht..Dann hätte ich einen DispoKredit von 199€. Wo genau ist jetzt das Problem? Noch nie negative Kontostände gesehen? Das geht nämlich und das nennt man "sein Konto überziehen". Auf meiner Kreditkarte (was auch als Konto geführt wird) stehen regelmäßig negative Zahlen, bis sie am Ende des Monats automatisch vom angeschlossenen Konto ausgeglichen werden.
Natürlich gehört da mehr rein, aber das würde doch wohl bei weitem das Beispiel übersteigen. Dann müssten nämlich auch Kreditrahmen, Zinssätze und weiß der Geier was noch definiert werden. Das sprengt ja wohl jeden Rahmen.
Fakt ist, dass es bei einem Konto deutlich mehr Sinn macht, dass der Betrag auf dem Konto nur *um* einen bestimmten Betrag geändert und nicht fix auf einen bestimmten Wert gesetzt werden kann. Das geht nämlich bei jedem Konto auch nur dann, wenn man vorher den Kontostand abfragt.
Also nein, die Methode tut für ein Konto genau das, was man erwarten würde - im Rahmen dieses Beispiels hier.
Und nochmal nein, Tankard meinte ziemlich sicher, dass ein "+=" bei einem "set" nicht üblich ist. Das ist in diesem Fall aber korrekt. Nur der Name der Methode ist Mist, denn es gibt bei einem Konto eigentlich kein "set", sondern eben nur Ein- oder Auszahlungen, die den Kontostand um einen gewissen Betrag ändern.
Die Methode private zu machen ist ebenfalls Quatsch. Jeder kann eine Lastschrift auf mein Konto tätigen. Jeder! Ungefragt! Ich kann diesen allerdings widersprechen. Auch kann jeder einfach ungefragt Geld auf mein Konto überweisen! Public ist also absolut korrekt.
Community-Fossil
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Jetzt nicht mehr, aber genau das tat es mal.setKontostand macht kein "+=" sondern lediglich ein "="
Es war ursprünglich "+=", ich habe das editiert nachdem Tankard angemerkt hat, dass dies nicht dem entspricht was eine setXYZ() Methode normalerweise macht.
Ursprünglich machte die Methode was man bei einem Bankkonto erwarten würde, nun macht sie was man von setXYZ() erwartet.
Nein, können sie nicht. Sie können Giralgeld erschaffen. Giralgeld ist aber kein Geld und genau genommen nicht einmal ein legales Zahlungsmittel. Geld besitzt ein physisches Medium. Münzen oder Scheine. Giralgeld besitzt gar nichts und ist nur virtuell existent, aber nicht real.Übrigens können Banken Geld auch fast aus dem nichts erschaffen
Werbeanzeige