In der Vergangenheit habe ich immer Methoden programmiert, bei denen ich Werte mitgegeben habe und falls diese ein Ergebnis erzeugten, wurde es mit Return zurück gegeben.
Im Speicher werden Objekte ja Referenziert und es wird demnach auf eine Speicheradresse gezeigt die in der Methode mitgeben wird.
Wäre es denn eine schlechte Idee wenn ich nun nun eine Methode programmiere und direkt mit Get und Set Methoden arbeite anstatt einen Werte zurück zu geben?
Wenn die Methode ohne Rückgabe aufgerufen wird, und die Referenz mit gesendet wird, dann kann auf das dateiObjekt zugegriffen werden.
Somit kann man auch auf die Instanzvariablen verändern und zugreifen.
Nachdem die Methode beendet wird, dann geht die Verbindung zu dem dateiObjekt verloren aber da es eine Referenz war, kann man auf die in der Methode erzeugten Werte dennoch zugreifen??!!
Die Programmierung wäre aber dann nicht mehr nach dem BackBox prinzip.
Letzte Möglichkeit wäre dass dateiObjekt komplett mir den geänderten Werten zurück zu geben.
Code:
// Variablendeklaration
dateiObjekt.dateiPfadNameEndung
dateiObjekt.dateiEndung
dateiObjekt.InhaltIstLeer
// Mit Rückgabe
dateiObjekt.dateiEndung = sucheDateiEndung(dateiObjekt)
// Methode
public static String sucheDateiEndung(Datei dateiObjekt) {
String dateiEndung = sucheDateiendung(dateiObjekt.getDateiNameEndung);
return dateiEndung
}
Im Speicher werden Objekte ja Referenziert und es wird demnach auf eine Speicheradresse gezeigt die in der Methode mitgeben wird.
Wäre es denn eine schlechte Idee wenn ich nun nun eine Methode programmiere und direkt mit Get und Set Methoden arbeite anstatt einen Werte zurück zu geben?
Code:
// Variablendeklaration
dateiObjekt.dateiPfadNameEndung
dateiObjekt.dateiEndung
dateiObjekt.InhaltIstLeer
// Ohne Rückgabe
fuelleWerteInObjekt(dateiObjekt);
LOG.info("Dateiendung" + dateiObjekt.getEndung);
LOG.info("Inhalt ist Leer" + dateiObjekt.isInhaltIstLeer);
// Methode
public static void fuelleWerteInObjekt(Datei dateiObjekt) {
// sucht die Dateiendung
dateiObjekt.setEndung(sucheDateiEndung(dateiObjekt.getDatei));
// Inhalt ist leer
dateiObbjekt.setInhaltIstLeer = true;
}
Wenn die Methode ohne Rückgabe aufgerufen wird, und die Referenz mit gesendet wird, dann kann auf das dateiObjekt zugegriffen werden.
Somit kann man auch auf die Instanzvariablen verändern und zugreifen.
Nachdem die Methode beendet wird, dann geht die Verbindung zu dem dateiObjekt verloren aber da es eine Referenz war, kann man auf die in der Methode erzeugten Werte dennoch zugreifen??!!
Die Programmierung wäre aber dann nicht mehr nach dem BackBox prinzip.
Letzte Möglichkeit wäre dass dateiObjekt komplett mir den geänderten Werten zurück zu geben.
Zuletzt bearbeitet: