Instanzvariablen als private...

nikotin

Mitglied
Hallo zusammen,
wenn ich die Instanzvariablen in einer Klasse als private zuweise, dann kann ich ja, wenn ich davon ein Objekt in der main Methode erzeugen möchte, getter und setter methoden definieren. Ist das wahr ? also in einer tutorium habe ich gehört, dass bei private Instanzen Getter und Setter Methoden brauchen für lese und Schreibzugriff.
Jedoch habe ich Instanzvariablen als private gekennzeichnet und Setter sowie Getter Mothoden weggelassen, troztdem hat es in der main Methode funktioniert.
Könnte jemand eventuell dazu was sagen.

Vielen Dank

Java:
public class Getraenke {

   // Instanzvariablen
   private String name;
   private double preis;

   // Konstruktor
   public Getraenke(String neuerName, double neuerPreis) {
     this.name = neuerName;
     this.preis = neuerPreis;
   }

   public void gibAlles() {
     System.out.println(this.name + this.preis);
   }
}

Java:
import java.util.ArrayList;
public class Hauptprogramm {

   public static void main(String[] args) {
  
     ArrayList<Getraenke> getraenke = new ArrayList<Getraenke>();
    
     getraenke.add(new Getraenke("Cola turka: ", 1.00));
     getraenke.add(new Getraenke("Lipton: ", 1.25));
     getraenke.add(new Getraenke("RedBull: ", 1.65));
    
     for(Getraenke alleGetränke : getraenke) {
       alleGetränke.gibAlles();
     }
   }
}
 
Zuletzt bearbeitet von einem Moderator:
Du gibst die Werte ja auch im Konstruktor schon mit. Dann brauchst du auch keine Getter und Setter Methoden. Die brauchst du in diesem Fall erst, sobald du beispielsweise den Namen des Getränkes außerhalb der Getränke-Klasse benötigst. Da deine Methode gibtAlles() nur eine Ausgabe in der Konsole macht und die Werte nur in der Klasse Getränke verwendet werden, brauchst du die Getter und Setter nicht.
Getter und Setter sind dafür da, um außerhalb des Scopes einer Klasse auf die Werte einer bestimmten Klasse zuzugreifen.

BTW: Du solltest bei Code hier im Forum die Code-Tags verwenden.
 

Neue Themen


Zurück
Oben