Access Modifiers

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo!

Da meine letzte Frage innerhalb von 2 Minuten sofort korrekt beantwortet wurde, würde es mich freuen wenn mir jemand sagen könnte (im Forum wurde diese Thema speziell anscheinend noch nicht behandelt):

was Access Modifiers sind und wozu man diese braucht

Ein praktisches Beispiel anhand eines Quellcodes wäre TOP!

Danke

Paul
 
G

Guest

Gast
Welche Access Modifieres wären bei folgendem Code ideal?
Code:
public class dog {

   int size = 0;
   int maxSize = 10;
   String name;
   String noise;
   
   public dog() {
      int size = 0;
      int maxSize = 10;
      String name;
   }
   
   public dog(int size, String Name){
      this.name = Name;
      this.maxSize = size;
   }

   
   public void display(){
      System.out.print(
            "-----------------------------\n" +
            "size\t\t" + this.size + "\n" +
            "maxSize:\t" + this.maxSize + "\n" +
            "Name:\t\t" + this.name + "\n" +
            "-----------------------------\n"
      );
   }
   
   public void setName(String newName){
      this.name = newName;   
   }
   
   public void setSize(int newSize){
      
   ....
   
   public void makeNoise(){
      
   ...
   
   public void setFeed(int size){
      this.size++;
   }
}

Code:
public class dog_launcher {
	public static void main(String[] args){
		
		dog FirstDog = new dog();
		
		FirstDog.display();
		
		FirstDog.setName("Tinkerbell");
		
		FirstDog.display();
		
		FirstDog.setSize(-2);
		
		FirstDog.display();
		
		FirstDog.setSize(2);
		
		FirstDog.display();
		
		FirstDog.makeNoise();
		
		FirstDog.setFeed(1);
		
		FirstDog.display();
		
		FirstDog.makeNoise();
		
		dog MyBigDog = new dog(FirstDog.maxSize,"Thor");
		
		MyBigDog.display();
		
		dog[] PackOfDogs = new dog[5];
		
		String[] DogNames = { "Snoopy", "Lassie", "Boomer", "Pluto", "Laika" };
		
		int[] DogSizes = { 1, 6 ,5, 7, 3 };
		
		for (int i = 0; i < PackOfDogs.length; i++) {
			PackOfDogs[i] = new dog();
			PackOfDogs[i].setSize( DogSizes[i] );
			PackOfDogs[i].setName( DogNames[i] );
		}
		
		System.out.println("\n----- let the pack make noise:");
		
		for (int i = 0; i < PackOfDogs.length; i++) {
			PackOfDogs[i].makeNoise();
		}
		
		System.out.println("\n----- feed the pack and have it make noise:");


          for (int i = 0; i < PackOfDogs.length; i++) {
               PackOfDogs[i].setFeed(1);
               PackOfDogs[i].makeNoise();
          }


          System.out.println("\n----- feed the pack and have it make noise:");

          for (int i = 0; i < PackOfDogs.length; i++) {
               PackOfDogs[i].setFeed(1);
               PackOfDogs[i].makeNoise();
          }


          System.out.println("\n----- call display on the whole pack:");

          for (int i = 0; i < PackOfDogs.length; i++) {
               PackOfDogs[i].display();
          }


          PackOfDogs[2].setSize(12);
		  
		  for (int i = 0; i < PackOfDogs.length; i++) {
               PackOfDogs[i].display();
          } 	
	}
}

und warum?

Bin wieder einmal für jeden Ratschlag mehr als Dankbar!

Paul[/code]
 
B

Beni

Gast
Einfache Regel:
Alle Variablen kriegen ein 'private'
Methoden: public wenn jedermann die gefahrlos Aufrufen darf, protected wenn die Methode nur sinnvoll von der Klasse selbst aufgerufen werden kann, und privat wenns eine hochspeziallisierte 'Zulieferermethode' fuer eine andere Methode ist.
 
M

mangrove

Gast
Vielen Dank für all die Antworten!

Damit kann ich viel anfangen, verstehe nun den Sinn der Sache!

Jetzt steht meinem (+) der Hausaufgabe nichts mehr im Wege! :D

DANKE!

Paul
 
B

Beni

Gast
Roar hat gesagt.:
Beni hat gesagt.:
protected wenn die Methode nur sinnvoll von der Klasse selbst aufgerufen werden kann

oder von unterklassen :roll:
Ich hab heute gerade meine erste Vorlesung Philosophie gehabt...
... gibt es denn einen Unterschied zwischen der Klasse und der Unterklasse? Ist diese Unterscheidung notwendig, oder könnten wir unser Weltbild revolutionieren, wenn wir das nicht tun? :wink:

Nene, du hast recht.
 
R

Roar

Gast
Beni hat gesagt.:
Roar hat gesagt.:
Beni hat gesagt.:
protected wenn die Methode nur sinnvoll von der Klasse selbst aufgerufen werden kann

oder von unterklassen :roll:
Ich hab heute gerade meine erste Vorlesung Philosophie gehabt...
... gibt es denn einen Unterschied zwischen der Klasse und der Unterklasse? Ist diese Unterscheidung notwendig, oder könnten wir unser Weltbild revolutionieren, wenn wir das nicht tun? :wink:
existiert die unterklasse überhaupt? oder ist sie vielleicht gar nicht real? ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T access modifiers Java Basics - Anfänger-Themen 4
josfe1234 Hilfe access denied ("java.io.FilePermission" " " "read") Java Basics - Anfänger-Themen 12
M Access Modifier oder so ähnlich Java Basics - Anfänger-Themen 6
N DB Access conection Java Basics - Anfänger-Themen 6
T Access mit Java verbinden im netzwerk Java Basics - Anfänger-Themen 3
S JNA - Java Native Access - wie ? Java Basics - Anfänger-Themen 2
E To count password and username access possibility Java Basics - Anfänger-Themen 0
M Access restriction Problem, obwohl library eingebunden ist Java Basics - Anfänger-Themen 0
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
Z Access Control Exception Java Basics - Anfänger-Themen 10
M Erste Schritte Java programm unable to access Java Basics - Anfänger-Themen 10
S java.security.AccessControlException: access denied Java Basics - Anfänger-Themen 4
H NEtBeans: Fehler: XXX has private access... Java Basics - Anfänger-Themen 2
D Access Abfrage - Results direkt als Array erhalten Java Basics - Anfänger-Themen 2
T java.security.AccessControlException: access denied (java.net.SocketPermission Java Basics - Anfänger-Themen 2
C Package einbinden - "cannot access" Java Basics - Anfänger-Themen 5
J Access-Verbindung Java Basics - Anfänger-Themen 2
W OOP Datum aus Access in Textfeld schreiben ohne Stunden/Minuten/Sekunden Java Basics - Anfänger-Themen 2
neurox Was heißt: Access restriction ... ? Java Basics - Anfänger-Themen 3
A Access restriction / gl4java Java Basics - Anfänger-Themen 3
hdi NPE (access$1) Java Basics - Anfänger-Themen 6
R DerbyDB nach MS Access kopieren Java Basics - Anfänger-Themen 41
S access denied (java.io.FilePermission read) Java Basics - Anfänger-Themen 3
M Access to HSQLDB Converter Java Basics - Anfänger-Themen 2
D Anfängerfrage N. Office Access NOA: setHidden und dann . Java Basics - Anfänger-Themen 2
T Brauche Hilfe: Access DB + Hashmap Java Basics - Anfänger-Themen 2
M Data Access Object - Beispiel Java Basics - Anfänger-Themen 11
B access denied Java Basics - Anfänger-Themen 7
H . cannot access Person Java Basics - Anfänger-Themen 5
V Änderungsdatum aus einer Access File auslesen Java Basics - Anfänger-Themen 5
S Maske wie in Access Java Basics - Anfänger-Themen 8
N Applet - Datenbankzugrriff - SocketPermission Access denied Java Basics - Anfänger-Themen 2
D Dateizugriff - An bestimmter Position Lesen (Random Access) Java Basics - Anfänger-Themen 2
J java und jdbc mit access Java Basics - Anfänger-Themen 3
T Access Datenbank in Java (Eclipse) einbinden Java Basics - Anfänger-Themen 10
G access static field Java Basics - Anfänger-Themen 2
D Random Access File: Letzte Zeile löschen Java Basics - Anfänger-Themen 2
D Random Access File: seek() Problem Java Basics - Anfänger-Themen 5
S Ursache dieser Fehlermeldung (access dinied) Java Basics - Anfänger-Themen 3
F Read access to enclosing field xy is emulated . Java Basics - Anfänger-Themen 2
S MS Access und JApplet Java Basics - Anfänger-Themen 12
F Access Datenbank-Tabelle erzeugen Java Basics - Anfänger-Themen 5
M Applet access denied Java Basics - Anfänger-Themen 4
U public, private, protected und "default access" - Java Basics - Anfänger-Themen 14
G ACCESS Anfall Java Basics - Anfänger-Themen 3
P Anleitung zum Data Access Object Pattern Java Basics - Anfänger-Themen 2
V Daten aus Access in eine Tabelle schreiben Java Basics - Anfänger-Themen 3
B Angabe import-Verzeichnis & Error704:cannot access direc Java Basics - Anfänger-Themen 6
R Access Datenbankabfrage Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben