Zugriffsmudifikatoren kontrollieren die Sichtbarkeit von Klassenmitgliedern und setzen Kapselung durch, indem sie einschränken, wer diese lesen oder aufrufen kann.
Zugriffsmudifikatoren kontrollieren die Sichtbarkeit von Klassenmitgliedern und setzen Kapselung durch, indem sie einschränken, wer diese lesen oder aufrufen kann.
| Modifier | Accessible from |
|---|
public | Überall |
protected | Die Klasse und ihre Unterklassen |
private | Nur innerhalb der deklarierenden Klasse |
public class Employee {
private double salary; // internal — only Employee touches it
protected String department; // subclasses may use it
public String name; // open to all
public double getSalary() { // controlled, public read access
return salary;
}
}
salary ist private, daher kann kein externer Code sie beschädigen; der öffentliche Getter ist das einzige Fenster.
class Demo:
def __init__(self):
self.public = 1
self._protected = 2 # convention only ("don't touch")
self.__private = 3 # name-mangled to _Demo__private
Python hat kein erzwungenes private — es verlässt sich auf Namenskonventionen. Java/C# erzwingen Modifizierer zur Kompilierzeit. Java hat auch package-private (die Voreinstellung, kein Schlüsselwort).
Alles public zu machen, negiert Kapselung. Beginnen Sie mit dem restriktivsten Niveau und erweitern Sie nur, wenn sich ein echter Bedarf zeigt.
Zugriffsmudifikatoren sind das konkrete Werkzeug, das Kapselung von einem Prinzip in eine vom Compiler überprüfte erzwungene Regel umwandelt.
Eine kleine öffentliche Oberfläche bedeutet, dass weniger Code sich auf Interna verlassen kann, sodass Sie frei refaktorieren können, ohne Aufrufer zu unterbrechen.
Eine Sammlung von IT-Interviewfragen mit ausführlichen Antworten — vom Junior bis zum Senior.
Spenden