Zugriffsmodifikatoren

Autor: Laura McKinney
Erstelldatum: 9 April 2021
Aktualisierungsdatum: 24 Juni 2024
Anonim
Programmieren Lernen #34 - Zugriffsmodifikatoren
Video: Programmieren Lernen #34 - Zugriffsmodifikatoren

Inhalt

Definition - Was bedeutet Access Modifiers?

Zugriffsmodifikatoren sind Schlüsselwörter, mit denen die Zugänglichkeit einer Klasse (oder eines Typs) und ihrer Mitglieder angegeben wird. Diese Modifikatoren können aus Code innerhalb oder außerhalb der aktuellen Anwendung verwendet werden.

Zugriffsmodifizierer in .NET werden verwendet, um die Zugänglichkeit der einzelnen Member eines Typs aus verschiedenen möglichen Codebereichen zu steuern. Dies kann innerhalb oder außerhalb der aktuellen Assembly erfolgen. Eine Assembly stellt eine logische Funktionseinheit dar und besteht aus Typen und Ressourcen, die sich in einer oder mehreren Dateien befinden.

Der Zweck der Verwendung von Zugriffsmodifikatoren besteht darin, eine Kapselung zu implementieren, die die Schnittstelle eines Typs von ihrer Implementierung trennt. Daraus ergeben sich folgende Vorteile:


  • Verhinderung des Zugriffs auf den internen Datensatz durch Benutzer auf ungültigen Status.
  • Bereitstellung von Änderungen an der internen Implementierung der Typen, ohne die Komponenten zu beeinträchtigen, die sie verwenden.
  • Reduzierung der Komplexität des Systems durch Reduzierung der Abhängigkeiten zwischen Softwarekomponenten.

Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt Access Modifiers

Das .NET Framework bietet eine Option mit fünf Arten von Zugriffsmodifikatoren:

  1. Privater Code innerhalb des Typs kann nur auf die Mitglieder dieses Typs zugreifen. Daher ist der Zugriff auf den aktuellen Typ beschränkt
  2. Öffentlicher Code von einer beliebigen Stelle in der aktuellen Assembly oder von einer anderen Assembly, die auf ihn verweist, kann auf die Mitglieder des Typs zugreifen und somit den Zugriff von überall aus ermöglichen
  3. Geschützt - Code innerhalb des Typs oder seiner abgeleiteten Klassen kann auf die Mitglieder des Typs zugreifen. Daher ist der Zugriff auf den aktuellen Typ und die abgeleiteten Klassen beschränkt
  4. Interner Code in der aktuellen Assembly, jedoch nicht aus einer anderen Assembly, kann auf die Member des Typs zugreifen. Daher ist der Zugriff auf die aktuelle Assembly beschränkt
  5. Geschützter interner Code in der aktuellen Assembly kann auf die Mitglieder des Typs sowie auf die Assembly zugreifen, die darauf verweist. Der Zugriff erfolgt daher über abgeleitete Klassen in der aktuellen Assembly und muss über eine Instanz des abgeleiteten Klassentyps in der Assembly erfolgen, die darauf verweist

Für die Zugriffsmodifikatoren gelten mehrere Regeln:


  • Wenn für Typmitglieder kein Zugriffsmodifikator angegeben ist, ist die Standardzugriffsebene privat und intern.
  • Für Namespaces sind keine Zugriffsmodifikatoren zulässig, da sie öffentlich sind.
  • Die in einem Typ deklarierten verschachtelten Klassen und Strukturelemente sind für die enthaltende Klasse standardmäßig privat.
  • Strukturelemente können nicht als geschützt deklariert werden, da sie keine Vererbung unterstützen.
  • Destruktoren können keine Zugriffsmodifikatoren haben.
  • Der abgeleitete Typ kann nicht besser zugänglich sein als sein Basistyp.
  • Das Element eines enthaltenden Typs sollte weniger barrierefrei sein als das Element seines enthaltenden Typs. Dies kann anhand eines Beispiels veranschaulicht werden: Eine öffentliche Methode in einem enthaltenden Typ kann kein „A“ als Parameter haben, wenn Typ A nicht öffentlich sichtbar ist.
  • Schnittstellen werden als öffentlich und intern deklariert und können keine anderen Zugriffsmodifikatoren haben, da Schnittstellen hauptsächlich für den Zugriff von Klassen verwendet werden, um daraus abzuleiten.
  • Zugriffsmodifikatoren werden nicht nur für Klassenmitglieder, sondern auch für andere Codekonstrukte mit derselben Absicht verwendet.