Prinzip der Kapselung - Wie Aufruf der Methode?

Status
Nicht offen für weitere Antworten.

Max_Neuling

Mitglied
Hi Leute!


Die Attribute einer Klasse sollten ja normalerweise als "private" deklariert werden, um so den Zugriff auf die Attribute im Hauptprogramm zu verhindern / bzw. zu kontrollieren!

Nur, wie kann ich die Daten dann ausgeben, wenn sie als private deklariert wurden?

Habe hier ein einfaches Beispiel: Es gibt eine Oberklasse "Schule" und mehrere Subklassen "Wirtschaftsgymnasium", "Berufskolleg", etc. etc.


Kann mir einer sagen, wie ich das anhand meines Codes machen könnte? Bitte keine Veränderungen mit einbringen, alles was wir wissen müssen, ist an Befehlen vorhanden ;)


Also hier der Code (abgekürzt, nur bis Berufskolleg):
Code:
public class Haupt[/b]
{

  public static void main(String[] args)
  {
   berufskolleg bk;
   wg wg;
   berufsschule bs;
   ws ws;
   
   bk = new berufskolleg();
   wg = new wg();
   bs = new berufsschule();
   ws = new ws();
   
   bk.schuelerzahl = 90;
   bk.lehreranzahl = 35;
   bk.abschluss = "Gebundene Fachhochschulreife";
   bk.bildungsmoeglichkeiten = "Studium an einer Fachhochschule";
   
   wg.schuelerzahl = 200;
   wg.lehreranzahl = 90;
   wg.abschluss = "Allgemeine Hochschulreife";
   wg.bildungsmoeglichkeiten = "Studium an einer Fachhochschule oder an einer Universitaet";
   
   bs.schuelerzahl = 78;
   bs.lehreranzahl = 55;
   bs.abschluss = "Ausbildung beendet";
   bs.gehalt = 476;
   
   ws.schuelerzahl = 76;
   ws.lehreranzahl = 20;
   ws.abschluss = "Mittlere Reife";
   ws.bildungsmoeglichkeiten = "Berufskolleg oder Wirtschaftsgymnasium";
   
   Out.println("SCHULEN");
   Out.println("");
   Out.println("=========================================================");
   Out.println("");
   Out.println("Berufskolleg (1), Wirtschaftsgymnasium (2),");
   Out.println("Berufsschule (3), Wirtschaftsschule (4)");
   int wahl = In.readInt();
   switch (wahl)
   {
     case 1:  bk.info(); break;
     case 2:  wg.info(); break;
     case 3:  bs.info(); break;
     case 4:  ws.info(); break;
   }
  }
}


[b]public class schule {[/b]
public String s;
public int schuelerzahl;
public int lehreranzahl;
public void ausgabe(String s)
 {
  Out.println(s + " hat " + schuelerzahl + " Schueler und " + lehreranzahl + " Lehrer.");
 }
}


[b]public class berufskolleg extends schule[/b]
{
 public String abschluss;                               //Das hier soll private werden
 public String bildungsmoeglichkeiten;           // Das hier soll private werden
 public void info(){
   super.ausgabe("Das Berufskolleg");
   Out.println("Abschluss: " + abschluss);
   Out.println("Studiumsmoeglichkeiten: " + bildungsmoeglichkeiten);
 }
}


Für eure Hilfe bin ich sehr, sehr dankbar!!!



Viele Grüße
Max
 

trazzag

Bekanntes Mitglied
Für deine private deklarierten Attribute, die du in anderen Klassen brauchst, schreibst du dir einfach Get-Methoden, die das Attribut übergeben.
Wenn du die Attribute auch von "außen" verändern mußt, schreibst du dir noch einen entsprechenden Setter.
 

Max_Neuling

Mitglied
Habe eine Methode gefunden, ohne die get, set - Methoden:
Schaut Euch einfach mal den Code an!

Liege ich damit richtig, dass:

1. durch die private - Deklaration der Zugriff auf Attribute im Hauptprogramm nicht mehr erfolgen kann und
2. nur Werte in die fest bestehenden Attribute übertragen werden können?


Code:

Code:
public class Haupt
{

  public static void main(String[] args)
  {
   berufskolleg bk;
   wg wg;
   berufsschule bs;
   ws ws;
   
   bk = new berufskolleg(55,23,"Fachgebundene Hochschulreife", "Studium an einer Fachhochschule");
   wg = new wg(200,90,"Allgemeine Hochschulreife","Studium an einer Fachhochschule oder an einer Universitaet");
   bs = new berufsschule(78,55,"Ausbildung beendet",450);
   ws = new ws(76,20,"Mittlere Reife","Berufskolleg oder Wirtschaftsgymnasium");
   
   Out.println("SCHULEN");
   Out.println("");
   Out.println("=========================================================");
   Out.println("");
   Out.println("Berufskolleg (1), Wirtschaftsgymnasium (2),");
   Out.println("Berufsschule (3), Wirtschaftsschule (4)");

   int wahl = In.readInt();
   switch (wahl)
   {
     case 1:  bk.info(); break;
     case 2:  wg.info(); break;
     case 3:  bs.info(); break;
     case 4:  ws.info(); break;
   }
  }
}

public class schule {
public String s;
public int schuelerzahl;
public int lehreranzahl;
public void ausgabe(String s)
 {
  Out.println(s + " hat " + schuelerzahl + " Schueler und " + lehreranzahl + " Lehrer.");
 }

}

public class wg extends schule
{
 private String abschluss,bildungsmoeglichkeiten;
 public wg(int sz, int lz, String ab, String bm)
 {
   schuelerzahl = sz;
   lehreranzahl = lz;
   abschluss = ab;
   bildungsmoeglichkeiten = bm;
 }
 public void info(){
   super.ausgabe("Das Wirtschaftsgymnasium");
   Out.println("Abschluss: " + abschluss);
   Out.println("Studiumsmoeglichkeiten: " + bildungsmoeglichkeiten);
 }
}


Mfg
Max
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Liskov Prinzip Java Basics - Anfänger-Themen 3
L OOP Interface Prinzip? Java Basics - Anfänger-Themen 6
I iCal und auf Homepage einbinden - Prinzip Java Basics - Anfänger-Themen 2
S DRY Prinzip - Hilfe! Java Basics - Anfänger-Themen 5
H Vererbung Prinzip der Ersetzbarkeit-Sinn? Java Basics - Anfänger-Themen 9
B Bei Swing weg vom North-West-South-East-Prinzip Java Basics - Anfänger-Themen 2
S MVC Prinzip - update() ? Java Basics - Anfänger-Themen 2
C OOP Model View Controller - Prinzip Java Basics - Anfänger-Themen 6
T Verstehe Bufferreader prinzip nicht Java Basics - Anfänger-Themen 3
K Frage zum Model View Controller Prinzip Java Basics - Anfänger-Themen 6
E Frage zum MVC-Prinzip Java Basics - Anfänger-Themen 2
L Callback-Prinzip Java Basics - Anfänger-Themen 8
M Frage zum MVC Prinzip Java Basics - Anfänger-Themen 6
Lion.King Kapselung Java Basics - Anfänger-Themen 5
K Unterschied Information Hiding und Kapselung? Java Basics - Anfänger-Themen 2
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
T Kapselung und Zugriffsmodifizierer Java Basics - Anfänger-Themen 9
LionAge Kapselung, Verständnisfrage zur Objekterzeugung Java Basics - Anfänger-Themen 4
M Objektmethoden und Kapselung Java Basics - Anfänger-Themen 4
J Kapselung - Dient dazu, um nur den Coder zu "schützen"? Java Basics - Anfänger-Themen 4
T Kapselung: public-Methoden in protected-Klassen Java Basics - Anfänger-Themen 3
neurox Kapselung von Enums? Java Basics - Anfänger-Themen 3
H Sauberes GUIieren mit dem AWT | Frage zur Kapselung Java Basics - Anfänger-Themen 3
V Kapselung Java Basics - Anfänger-Themen 3
A Frage zu super, abstracte Klassen und Kapselung Java Basics - Anfänger-Themen 3
D oo -> kapselung Java Basics - Anfänger-Themen 15
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
K Erste Schritte Stream-Aufruf vereinfachen Java Basics - Anfänger-Themen 3
sashady ursprüngliche Array-Werte bei erneutem Aufruf? Java Basics - Anfänger-Themen 7
M Aufruf von statischen Methoden einer anderen Klasse Java Basics - Anfänger-Themen 15
Y Aufruf von Methode nicht möglich. Java Basics - Anfänger-Themen 2
D Aufruf von mehreren Activities bringt die app zum Absturz Java Basics - Anfänger-Themen 5
L Methoden Wie Löse ich ext Methoden Aufruf Fehler? Java Basics - Anfänger-Themen 3
X Methode bei mehrfachen Aufruf kein Effekt Java Basics - Anfänger-Themen 3
H Aufruf von Methoden durch Methoden Java Basics - Anfänger-Themen 3
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
O Verwirrt beim Java Collection Framework aufruf! Java Basics - Anfänger-Themen 9
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
B OOP While Schleife läuft Endlos durch externen aufruf Java Basics - Anfänger-Themen 2
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
D Interface Wieso Aufruf aller Methoden eines Interfaces? Java Basics - Anfänger-Themen 11
R Methoden NPE beim Aufruf einer Methode einer anderen Klasse Java Basics - Anfänger-Themen 4
J Aufruf einer Methode über einen String Java Basics - Anfänger-Themen 11
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
H Rekursiver Aufruf Java Basics - Anfänger-Themen 8
E Daten dem Super Aufruf übergeben Java Basics - Anfänger-Themen 3
D Interface Frame doppelt durch Aufruf der GUI Klasse Java Basics - Anfänger-Themen 1
Henri Aufruf von getX() und getY() aus der Super klasse Objekt() Java Basics - Anfänger-Themen 3
E Aufruf auf Objekt mit übergebenem Wert? Java Basics - Anfänger-Themen 7
D Aufruf einer statischen Variable Java Basics - Anfänger-Themen 1
D Aufruf einer Methode einer anderen Klasse Java Basics - Anfänger-Themen 39
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
C Erste Schritte Fehler beim *.class Aufruf über cmd.exe Java Basics - Anfänger-Themen 9
M Speichern von Objekten - Verfügbarkeit bei erneutem Aufruf Java Basics - Anfänger-Themen 3
S PHP Aufruf mit mehreren Variablen Java Basics - Anfänger-Themen 2
P Aufruf Methode anderer Klasse Java Basics - Anfänger-Themen 5
J Klassen Reihenfolge beim Aufruf von Klassen Java Basics - Anfänger-Themen 1
V Problem Aufruf einer Methode in einer Methode Java Basics - Anfänger-Themen 1
O Frage zum Aufruf überladener Methoden Java Basics - Anfänger-Themen 4
G funktions Aufruf aus GUI Java Basics - Anfänger-Themen 9
A Fehlermeldung beim aufruf der main Methode Java Basics - Anfänger-Themen 17
I Rückgabe und Aufruf einer Methode innerhalb einer anderen Methode Java Basics - Anfänger-Themen 5
W Zeitversetzter Aufruf der Methoden Java Basics - Anfänger-Themen 6
M Unbekannte Nummer bei Aufruf der toString Methode Java Basics - Anfänger-Themen 3
D Methode mit mehren Rekursiven aufrufen in Methode mit einem Rekursiven Aufruf umwandeln! Java Basics - Anfänger-Themen 1
F signiertes Applet fkt. nicht bei lokalem Aufruf Java Basics - Anfänger-Themen 2
A externer repaint Aufruf Java Basics - Anfänger-Themen 9
H Aufruf einer Instanzmethode funktionert nicht. Java Basics - Anfänger-Themen 6
A Konstruktor Aufruf Java Basics - Anfänger-Themen 4
Pentalon Ein Aufruf den ich nicht verstehe Java Basics - Anfänger-Themen 11
D dynamischer Aufruf Java Basics - Anfänger-Themen 2
N Aufruf der Methode Java Basics - Anfänger-Themen 16
L Next()-Aufruf zweimal innerhalb einer While-Schleife bei ListIterator Java Basics - Anfänger-Themen 10
S Aufruf Einer Methode aus einer anderen Klasse - Static Fehler Java Basics - Anfänger-Themen 4
A Aufruf der paint() Methode Java Basics - Anfänger-Themen 3
K Problem beim Array aufruf Java Basics - Anfänger-Themen 4
P URL für Lokalen Aufruf Java Basics - Anfänger-Themen 5
C OOP Aufruf von Methoden höherer Sichtbarkeit Java Basics - Anfänger-Themen 10
T Client-Fenster bei Aufruf unvollständig Java Basics - Anfänger-Themen 12
S Überladener Konstruktor und aufruf aus eigener Klasse Java Basics - Anfänger-Themen 2
A Aufruf von Konstruktor aus Basisklasse Java Basics - Anfänger-Themen 7
O OOP super aufruf 2 objekte? Java Basics - Anfänger-Themen 3
D Array Methoden Aufruf. Java Basics - Anfänger-Themen 14
L Klassen Aufruf einer ueberschreibbaren Methode im Konstruktor Java Basics - Anfänger-Themen 4
M OOP Aufruf vieler Getter Methoden abkürzen? Java Basics - Anfänger-Themen 7
Q Aufruf einer Klasse in einem Package Java Basics - Anfänger-Themen 7
C Aufruf funktioniert nicht Java Basics - Anfänger-Themen 10
T Aufruf einer Methoden aus einer Util-Klasse mit privatem Konstruktor Java Basics - Anfänger-Themen 7
G Aufruf externer Funktionen Java Basics - Anfänger-Themen 7
C Exception beim Aufruf einer Methode Java Basics - Anfänger-Themen 2
A Aufruf einer Methode Java Basics - Anfänger-Themen 3
J Aufruf von Funktionen in *.jar mittels Eclipse Java Basics - Anfänger-Themen 4
T Shell Script Aufruf mit Java Java Basics - Anfänger-Themen 7
R Aufruf statische Methode Java Basics - Anfänger-Themen 7
M Aufruf zum Objekt erstellen aus String Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben