Heim  >  Artikel  >  Backend-Entwicklung  >  Kapselung C#

Kapselung C#

WBOY
WBOYOriginal
2024-09-03 15:05:35582Durchsuche

Kapselung in C# ist als integrierte Funktionalität der C#-Programmiersprache definiert, um die Funktionalität der Kapselung zu erfüllen. Um die Kapselungsfunktion zu verstehen, wird sie als das Zusammenfassen eines oder mehrerer Elemente zu einer einzigen Einheit definiert und es wird sichergestellt, dass sie logische oder physische Ähnlichkeit aufweisen, was einen Grund dafür darstellt, sie zusammenzupacken. Sie werden zusammengepackt, um sicherzustellen, dass der Zugriff auf Implementierungsdetails verhindert wird und dadurch die Änderung der Daten verhindert wird. Auf die Details kann nur über die Getter-Funktion in der Klasse zugegriffen werden, und die Details können nur über Setter-Funktionen geändert werden. Die verpackte Entität, die die gesammelten Datenmitglieder und Mitgliedsfunktionen in einer einzigen Entität zusammenfasst, wird als Klasse bezeichnet.

Syntax der Kapselung C#

Die Idee, Sprintf zu haben, gewann an Popularität, als es zu einem alternativen Ansatz wurde, die druckbaren Nachrichten zu speichern, anstatt sie in der Konsole auszudrucken, damit sie je nach Bedarf der Anwendung jederzeit aufgerufen werden können. Das sprintf steht für „String Print“, und hier werden wir uns die Syntaxperspektive der sprintf-Funktion in C ansehen und die Parameter oder Argumente in der Syntax verstehen.

1. Deklaration der Variablen, die in C# gekapselt werden soll.

private < data type > < variable name >;

2. Getter-Funktion der Variablen, die in C# gekapselt ist.

get
{
return < variable name >;
}

3. Setter-Funktion der Variablen, die in C# gekapselt ist.

set
{
return < variable name >;
}

4. Deklaration der Klasse, die in C# gekapselt wird.

public class < class name >{
// Declare the elements of the public class.
}

Wie funktioniert Kapselung in C#?

  • Das Konzept der Kapselung entstand, als Daten in einer Anwendung aufgrund unbemerkter Fehler, die von jeder anderen Person passieren könnten, anfällig für Beschädigungen waren. Da Daten ein entscheidendes Element in einem objektorientierten Programmierkonzept sind, müssen wir jede versehentliche Änderung der Daten durch externe Funktionen vermeiden und die Daten dabei auch vor böswilligen Angriffen schützen.
  • Die Art und Weise, wie die Daten gekapselt werden, besteht darin, die Elemente als privat zu definieren und sie so zu gestalten, dass die Änderung nur auf zwei Arten möglich ist. Dies sind die beiden Möglichkeiten, über die wir jetzt im Detail sprechen werden, um ein vollständiges Bild der Funktionsweise der Kapselung zu erhalten. Der erste Weg führt über Accessoren und Mutatoren. Wenn eine Klasse erstellt wird, machen wir einige Elemente privat, was bedeutet, dass diese Elemente keinen Zugriff von Elementen außerhalb der Klasse haben. Jetzt erstellen wir zwei Funktionen, die sicherstellen, dass etwaige Änderungen oder sogar Abrufe von Accessoren (zum Abruf) und Mutatoren (zur Änderung) durchgeführt werden. Diese Funktionen werden als öffentlich definiert, sodass jede Funktion/Klasse außerhalb der nativen Klasse auf die Mutatoren und Accessoren zugreifen kann. Der andere Weg ist die Verwendung von Eigenschaften. Es gibt zwei Eigenschaften: get und set, die das Abrufen bzw. Ändern von Elementen ermöglichen.
  • Von diesen beiden Möglichkeiten, wenn der gewünschte Accessor in einer anderen Klasse aufgerufen wird, indem eine Instanz der Klasse definiert wird, die die privaten Elemente enthält. Diese Instanz enthält standardmäßig alle öffentlichen Funktionen der übergeordneten Klasse (der Klasse, zu der die Instanz gehört). Unter Verwendung dieser öffentlichen Eigenschaften/Accessoren/Mutatoren wird nun die erforderliche Aufgabe aufgerufen. Nach dem Aufruf wird der entsprechenden Aufgabe je nach Ausführung der Aufgabe entweder ein Abruf oder eine Änderung zugewiesen. Man kann sich diese Arbeitsweise analog zu einer Organisation vorstellen, in der nur einige Personen in der Organisation Zugriff auf die Finanzunterlagen (die vertraulichsten Informationen) haben, und wenn jemand einen Eintrag abrufen oder ändern muss, wird die Instanz der Finanzabteilung aufgerufen und den entsprechenden Job zugewiesen.

Beispiele für Kapselung C#

Im Folgenden finden Sie Beispiele für Encapsulation C#:

Beispiel #1

Es wird versucht, mithilfe von Accessoren und Mutatoren auf eine private Variable in der Klasse zuzugreifen (FEHLER in diesem Code erwartet).

Code:

using System;
namespace EmployeeApplication {
class Employee {
private string name;
private string dept;
public string GetName() {
return name;
}
public void SetName(string n) {
name = n;
}
public string GetDept() {
return name;
}
public void SetDepartname(string d) {
dept = d;
}
public void Display() {
Console.WriteLine("Name: {0}", name);
Console.WriteLine("Department: {0}", dept);
}
}
class ExecuteRectangle {
static void Main(string[] args) {
Employee e = new Employee();
e.name = "AmKy";
e.dept = "EduCBA";
e.Display();
Console.ReadLine();
}
}
}

Ausgabe:

Kapselung C#

Beispiel #2

Verwendung der richtigen Zugriffs- und Mutatorgenre, um auf Elemente der Klasse zuzugreifen und diese zu ändern.

Code:

using System;
namespace EmployeeApplication {
class Employee {
private string name;
private string dept;
public string GetName() {
return name;
}
public void SetName(string n) {
name = n;
}
public string GetDept() {
return name;
}
public void SetDepartname(string d) {
dept = d;
}
public void Display() {
Console.WriteLine("Name: {0}", name);
Console.WriteLine("Department: {0}", dept);
}
}
class ExecuteRectangle {
static void Main(string[] args) {
Employee e = new Employee();
e.SetName("AmKy");
e.SetDepartname("EduCBA");
e.Display();
Console.ReadLine();
}
}
}

Ausgabe:

Kapselung C#

Beispiel #3

Kapselung mithilfe von Eigenschaften.

Code:

using System;
namespace EmployeeApplication {
class Employee {
private string name;
private string dept;
public string DeptProp {
get {
return dept;
}
set {
dept = value;
}
}
public string EmpName {
get {
return name;
}
set {
name = value;
}
}
public void Display() {
Console.WriteLine("Name: {0}", name);
Console.WriteLine("Department: {0}", dept);
}
}
class ExecuteRectangle {
static void Main(string[] args) {
Employee e = new Employee();
e.EmpName = "Employee 2";
e.DeptProp = "Finance";
e.Display();
Console.ReadLine();
}
}
}

Ausgabe:

Kapselung C#

Fazit

In diesem Artikel haben wir die Art und Weise beschrieben, wie die Kapselung in C# durchgeführt wird, zusammen mit Beispielen, in denen wir auch verstanden haben, wie der Zugriff auf ein privates Objekt aus einer anderen Klasse, selbst über die Instanz der übergeordneten Klasse, zu Fehlern führen kann den Code nicht ausführbar machen.

Das obige ist der detaillierte Inhalt vonKapselung C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:C#-Datei lesenNächster Artikel:C#-Datei lesen