Was bedeutet es, dass eine Methode in Java öffentlich/privat/anders ist?
Was sind die Vor- und Nachteile dieser Optionen?
Was veranlasst mich als jemand, der versucht, ein guter Programmierer zu sein, mich darum zu kümmern?
Antwort
Zu viele Anzeigen?
BalusC
Punkte
1034465
Für den Anfang würde ich den Zugang so weit wie möglich einschränken. Beginnen Sie mit private
. Wenn Sie den Konstruktor, die Methode oder das Feld von einem anderen Ort benötigen, aber aufgrund der Einschränkung nicht darauf zugreifen können, müssen Sie sich fragen, wie es weitergeht:
- Wenn es sich um eine Methode handelt, müssen Sie dann wirklich auf sie zugreifen? Verändert sie das Verhalten der Klasse/Instanz? Sollte man nicht die Klasse die Arbeit machen lassen? Sollte die aktuelle Klasse (die dieses Feld oder diese Methode benötigt) nicht enger an diese Klasse gebunden werden?
- Wenn es sich um ein Feld handelt, müssen Sie dessen Wert abrufen oder setzen? Sollten Sie nicht eine Methode hinzufügen, die genau das tut?
Punkt 1 vermeidet eine falsche Kopplung und Punkt 2 verbessert die Kapselung. Wenn Sie die obigen Überlegungen angestellt haben und zu dem Schluss gekommen sind, dass eine geringere Einschränkung wirklich notwendig ist, dann öffnen Sie sie einen Schritt oder mehr.
- See previous answers
- Weitere Antworten anzeigen
9 Stimmen
Sonnenlehrgang: java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html
0 Stimmen
Ich unterstütze das Tutorial, oder ein grundlegendes OOP-Tutorial. Die Konzepte sind die gleichen für alle OO-Sprachen in Bezug auf Datenkapselung / Zugriff.
0 Stimmen
Was bedeutet OOP?
0 Stimmen
Objektorientierte Programmierung .
3 Stimmen
David, Sie haben noch eine Menge zu lernen. Das Sun-Tutorial kann Sie behutsam in die richtige Richtung führen.
0 Stimmen
Werden Sie das im OP hinzufügen? Ist das eine Hausaufgabe? Haben Sie das Tutorial schon durchgearbeitet? Haben Sie noch weitere Fragen?