Einzelnen Beitrag anzeigen
Alt 06.05.2005, 09:18   #11 (permalink)
tele
Polsterwaffenkampfsportle r
 
Benutzerbild von tele
 

Registriert seit: 29.10.2003
Beiträge: 14.561

tele hat eine strahlende Zukunft
tele hat eine strahlende Zukunfttele hat eine strahlende Zukunfttele hat eine strahlende Zukunfttele hat eine strahlende Zukunfttele hat eine strahlende Zukunft

Standard AW: [Java]Notenspiegel+Durchschnitt berechnen

Zitat:
Zitat von redfalcon
Das hab ich schon in der Schule nicht gerafft. Was bringt es denn, Variablen oder Methoden als private zu kennzeichnen?
Es ist nicht immer sinnvoll den Zugriff auf alle Variablen und Methoden unkontrolliert zu erlauben.

z.b. bei einer Member-Variablen (attribute einer Klasse) die auf keinen Fall auf einen bestimmten wert zu ändern (z.b. unter 0) wenn du du dann dieses attribut als public markierst, kann jeder externe aufruf diese variable nach beliben ändern, senkst du jedoch die Sichtbarkeit und stellst eine Methode zur Verfügung die das überprüft erhälst du mehr sicherheit

bsp:
Code:
private int darfNichtUnterNull = 1;
public void setDarfNichtUnterNull(int zahl) throws NegativeZahlException{
   if(zahl > 0){
      this.darfNichtUnterNull = zahl;
   } else{
      throw new NegativeZahlException;
   }
}

Zitat:
Zitat von redfalcon
Die StdIn fängt Eingaben ab, ist ne externe datei. Funzt auch mit String, double etc.
Ja das war mir auch klar, ich wollte nur wissen, ob die auch fehler in der eingabe abfängt.

Zitat:
Zitat von redfalcon
k.A. Das ist nur ne Übung für die Schule. Muss das dafür besonders sicher sein? Setter und Getter? Nie gehört.
je eher du sensibel codest desto mehr geht es in fleisch und blut über. Je eher du anfängst "ordentlich" zu coden, desto besser für jeden der mit dir mal an irgendwas arbeiten muss.

Getter und Setter Methoden sind MEthoden die einfach nur ein Attribut zurückgeben oder setzen z.b.:

Code:
private String test;

/**
 * returns test
 * @return a String representing test
 */
public String getTest(){
   return this.test;
}

/**
 * sets test
 * @param a String with the new value for test
 */
public void setTest(String pTest){
   this.test = pTest;
}
tele ist offline   Mit Zitat antworten