Casten oder vielleicht was anderes?

bluepeople12

Mitglied
Hallo Leute,

ich hab hier eine Bankaufgabe zu machen, d.h. ich habe eine Bank mit verschiedenen Sorten von Konten (normales, Sparkonto, Girokonto etc.). Und nun schreibe ich in der Bank eine Funktion die prüfen soll, ob ich einen bestimmten Transfer machen darf. Hier meine Funktion:

Java:
	//checkt ob ein Geldtransfer möglich ist oder nicht
	public boolean checkTransfer(Account accountFrom, Account accountTo, float amount) {
		if (accountFrom instanceof CheckingsAccount) {
			if(((CheckingsAccount)accountFrom.checkWithdraw(amount) == false)) {
				return false;
			}
		}
	}

Nur unterstreicht mir eclipse die innerste if-Verschachtelung. Kann ich das so schreiben wie das hier steht?

Edit:
Was noch wichtig ist zu wissen. Es gibt eine Oberklasse Account, zwei Klassen erben von ihr: SavingsAccount und CheckingsAccount. CheckingsAccount hat einen kreditlimit, d.h. es darf nicht mehr als ein bestimmter Betrag abgehoben werden. Die check-Funktion dazu hier:

Java:
	//checkt, ob man überhaupt etwas abheben kann
	public boolean checkWithdraw(float amount) {
		if (this.getBalance() - amount < this.creditLimit) {
			return false;
		} else {
			return true;
		}
	}
 
Zuletzt bearbeitet:
S

SlaterB

Gast
im Moment hast du in etwa kodiert
Java:
if (accountFrom instanceof CheckingsAccount) {
     CheckingsAccount ca = (CheckingsAccount)    [[[ accountFrom.checkWithdraw(amount) ]]];
            if(ca == false) {
                return false;
            }
}

was du aber brauchst ist
Java:
if (accountFrom instanceof CheckingsAccount) {
     CheckingsAccount ca = (CheckingsAccount)accountFrom;
     boolean b = ca.checkWithdraw(amount);
            if(b == false) {
                return false;
            }
}
bzw.
Java:
if (accountFrom instanceof CheckingsAccount) {
     CheckingsAccount ca = (CheckingsAccount)accountFrom;
            if(ca.checkWithdraw(amount) == false) {
                return false;
            }
}

so würde ich es dir empfehlen, wenn es sein muss lautet die Kurzvariante
Java:
        if (accountFrom instanceof CheckingsAccount) {
            if(((CheckingsAccount)accountFrom).checkWithdraw(amount) == false) {
                return false;
            }
        }
 

Andi_CH

Top Contributor
Na ja, ist logischerweise Geschmackssache ;-)

Java:
if (((CheckingsAccount)accountFrom).checkWithdraw(amount)== false) // igitt ;-)
    return false;

if (!((CheckingsAccount)accountFrom).checkWithdraw(amount)) // sieht doch eleganter aus
    return false;
 

VfL_Freak

Top Contributor
Moin,

Na ja, ist logischerweise Geschmackssache ;-)
Java:
if (((CheckingsAccount)accountFrom).checkWithdraw(amount)== false) // igitt ;-)
    return false;

if (!((CheckingsAccount)accountFrom).checkWithdraw(amount)) // sieht doch eleganter aus
    return false;

ja, das ist es in der Tat :D
Ich würde nämlich Deine Kommentare (zumindest im konkreten Fall) genau andersherum setzen ...
Stichwort: Wartbarkeit/Lesbarkeit des Codes ;)
Eleganz ist hier wohl obsolet resp. sehr relativ ...

Gruß
Klaus
 

muemmel_0811

Bekanntes Mitglied
zum Thema Geschmack:
Java:
if (accountFrom instanceof CheckingsAccount) {
     CheckingsAccount ca = (CheckingsAccount)accountFrom;
            if(ca.checkWithdraw(amount) == false) {
                return false;
            }
}
würd ich das in der Anfängerecke bevorzugen :D
 

timbeau

Gesperrter Benutzer
Also ich finde innerhalb von if-Schleifen macht sich der "!" Operator schon sehr viel besser als auf true oder false zu prüfen. Wir können ja abstimmen ;)
 

Andi_CH

Top Contributor
Java:
	boolean error = !((!true)!=(!false));
	 if(!((!error)!=(!false)))
		 System.out.println("Ich bin dafür dass wir dagegen sind");
	 else
		 System.out.println("Ich bin dagegen dasss wir dafür sind");

oder gehört das in die Rätselecke? :D
 
G

Gastredner

Gast
Java:
	boolean error = !((!true)!=(!false));
	 if(!((!error)!=(!false)))
		 System.out.println("Ich bin dafür dass wir dagegen sind");
	 else
		 System.out.println("Ich bin dagegen dasss wir dafür sind");

oder gehört das in die Rätselecke? :D
[c]Ich bin dafür dass wir dagegen sind[/c]
Lustig, aber wenn ich sowas in einem Projekt sehen würde...:autsch:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
B Datentypen Welcher Typ wird beim Casten übernommen? Java Basics - Anfänger-Themen 12
G Probleme beim casten von double zu int Java Basics - Anfänger-Themen 3
BuTTerBroTHDx Char Wert in int casten ? Java Basics - Anfänger-Themen 4
A Vererbung Mit Casten direkt auf Sub-Klasse Zugreiffen Java Basics - Anfänger-Themen 6
N Variablen zurück casten Java Basics - Anfänger-Themen 3
F Casten bei Implements Java Basics - Anfänger-Themen 2
S Klassen casten, IS-A Beziehung Java Basics - Anfänger-Themen 5
J Generics casten Java Basics - Anfänger-Themen 14
U Klassen Dynamisches Casten? Java Basics - Anfänger-Themen 39
T Probleme beim casten Java Basics - Anfänger-Themen 9
M Casten Java Basics - Anfänger-Themen 2
K Collections Vector zu String casten Java Basics - Anfänger-Themen 4
S Polymorphes Objekt in eigentliche Klasse casten Java Basics - Anfänger-Themen 6
masii Methoden Parameter casten? Java Basics - Anfänger-Themen 2
D Datentypen Abstrakter Datentyp lässt sich nicht casten Java Basics - Anfänger-Themen 7
U ArrayList casten Java Basics - Anfänger-Themen 37
F g.drawLine in g 2D casten Java Basics - Anfänger-Themen 5
A Klassen ArrayList richtig / sicher Casten? Java Basics - Anfänger-Themen 3
J Frage zu generischer Klasse und Casten Java Basics - Anfänger-Themen 14
M Frage zum Casten von Objekten Java Basics - Anfänger-Themen 5
M sicheres/unsicheres Casten bei Objekten Java Basics - Anfänger-Themen 13
D Object auf JTextpane / jTextArea casten? Java Basics - Anfänger-Themen 3
T Boolean in ein Objektdatentyp casten möglich? Java Basics - Anfänger-Themen 5
J Casten (Typumwandlung) Java Basics - Anfänger-Themen 12
P Casten Hash Map Java Basics - Anfänger-Themen 4
W Auf 'this' casten Java Basics - Anfänger-Themen 3
M Dynamisches Casten mal wieder Java Basics - Anfänger-Themen 4
M casten Java Basics - Anfänger-Themen 11
D Casten eines Objekts: Funktion der Oberklasse aufrufen Java Basics - Anfänger-Themen 4
G Datentypen char to int casten - falsches Ergebnis! Java Basics - Anfänger-Themen 6
S casten array in int von float Java Basics - Anfänger-Themen 5
A Dynamisches casten Java Basics - Anfänger-Themen 19
C Probleme beim casten und Objekt zugriff Java Basics - Anfänger-Themen 12
P Klasse nach Element casten Java Basics - Anfänger-Themen 4
G Double casten Java Basics - Anfänger-Themen 8
O Object nach Double casten Java Basics - Anfänger-Themen 11
L Object[] in String[] casten Java Basics - Anfänger-Themen 7
V Gelesene FTP Datei richtig casten Java Basics - Anfänger-Themen 9
T Properties casten Java Basics - Anfänger-Themen 4
G Arrays casten? Java Basics - Anfänger-Themen 12
G string "null" in null casten Java Basics - Anfänger-Themen 3
M casten und Generics Java Basics - Anfänger-Themen 9
S Objekt Casten Java Basics - Anfänger-Themen 4
G String nach int casten Java Basics - Anfänger-Themen 5
G Vektor auslesen und als int Variable casten Java Basics - Anfänger-Themen 4
G String in Date casten. Java Basics - Anfänger-Themen 7
G String in Date casten Java Basics - Anfänger-Themen 4
G String in Long casten Java Basics - Anfänger-Themen 2
G Object[] [] nach vector casten. Java Basics - Anfänger-Themen 3
G printStackTrace(); in String casten Java Basics - Anfänger-Themen 3
G String in int casten Java Basics - Anfänger-Themen 2
G Integer[] nach int[] casten - wie? Java Basics - Anfänger-Themen 2
D Arrays casten Java Basics - Anfänger-Themen 12
G Casten ? Java Basics - Anfänger-Themen 3
HaukeG Casten to String und Vergleichen Java Basics - Anfänger-Themen 2
G ich komm nicht weiter -> String in int casten Java Basics - Anfänger-Themen 4
T Casten von Choice auf Vector oder Object[] Java Basics - Anfänger-Themen 14
B Vector nach float[] casten Java Basics - Anfänger-Themen 6
G String zu byte[] "casten"? Java Basics - Anfänger-Themen 3
M Hin und Her Casten Object->int und int->Object Java Basics - Anfänger-Themen 3
T Typsicheres casten eines Objects Java Basics - Anfänger-Themen 5
D Object[] in Liste casten? Java Basics - Anfänger-Themen 8
T Chaosprogrammierer hat einen fehler beim casten? Java Basics - Anfänger-Themen 5
J Attribut casten Java Basics - Anfänger-Themen 3
A Array mit generischen Typen casten? Java Basics - Anfänger-Themen 6
C Automatisches Casten => inkompatibel Java Basics - Anfänger-Themen 7
G Byte-Code einlesen und zu Hex casten Java Basics - Anfänger-Themen 2
T Object[] zu String[] casten? Java Basics - Anfänger-Themen 3
R Double nach Integer casten Java Basics - Anfänger-Themen 8
L Adresse in String[] casten Java Basics - Anfänger-Themen 6
M Object auf Interface casten? Geht das? Java Basics - Anfänger-Themen 21
U ArrayLists und Casten Java Basics - Anfänger-Themen 2
O TreeMap nach Object[] casten? Java Basics - Anfänger-Themen 3
M Casten bei Objekten? Java Basics - Anfänger-Themen 4
S casten von Interface zu Klasse unterbinden Java Basics - Anfänger-Themen 15
M long nach String casten Java Basics - Anfänger-Themen 2
U String nach Integer Casten. Java Basics - Anfänger-Themen 4
G Sting nach int casten Java Basics - Anfänger-Themen 13
A Object casten? Java Basics - Anfänger-Themen 3
R Casten Java Basics - Anfänger-Themen 3
F Casten: Object nach Array Java Basics - Anfänger-Themen 10
M Casten Java Basics - Anfänger-Themen 2
H komme mit casten nicht klar Java Basics - Anfänger-Themen 3
P Geht es vielleicht viel kürzer? Java Basics - Anfänger-Themen 7
D Kann mir vielleicht jemand die reflexive Assoziation erklären? Java Basics - Anfänger-Themen 2
Thomathy Interface Wie schließt man ein anderes JFrame Fenster? Java Basics - Anfänger-Themen 6
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
F Methode für Teilbarkeit durch 5 tut was anderes.... Java Basics - Anfänger-Themen 3
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
B Enum innerhalb einer Klasse / anderes Konzept Java Basics - Anfänger-Themen 8
A JDK installieren Oracle JDK oder was anderes? Java Basics - Anfänger-Themen 6
R Vererbung werte von einem Objekt aus ein anderes übertragen Java Basics - Anfänger-Themen 7
B Mit Java anderes Java Programm starten Java Basics - Anfänger-Themen 3
M aus Fenster anderes Fenster öffnen und wieder umgekehrt Java Basics - Anfänger-Themen 5
I JFrame minimieren wenn anderes Programm minimiert wird Java Basics - Anfänger-Themen 1
E Anderes Programm ausführen Java Basics - Anfänger-Themen 8
L Erste Schritte Mal was anderes Java Basics - Anfänger-Themen 9
T TreeSet sortiert in ein anderes kopieren Java Basics - Anfänger-Themen 2
L Anderes Layout für JOptionPane? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben