Programowanie obiektowe jest jednym z najpopularniejszych paradygmatów programowania. Dzieje się tak, ponieważ modeluje zarówno dane, jak i funkcje oraz pozwala myśleć w kategoriach rzeczywistych obiektów. Klasy są podstawowym aspektem programowania obiektowego, ponieważ zapewniają plan potrzebny do tworzenia obiektów.

C# jest popularnym wieloparadygmatycznym językiem programowania, który wykorzystuje paradygmat obiektowy. W tym artykule dowiesz się, jak tworzyć i używać klas w C#.

Tworzenie deklaracji klasy

W C# klasa jest typem referencyjnym, który będzie zawierał zero wartość, dopóki nie utworzysz nowego obiektu klasy. Aby stworzyć nową klasę w C# będziesz potrzebować kilku komponentów:

  • Modyfikator dostępu.
  • The klasa słowo kluczowe.
  • Nazwa, którą chcesz przypisać do zajęć.
  • Para otwierających i zamykających nawiasy klamrowe (które obejmują atrybuty, konstruktory i metody klasy).
wewnętrzny klasaKlient{ }

Powyższy kod tworzy nową klasę, która jest dostępna dla innych klas w tym samym zestawie (plik kompilacji). C# ma dokładnie sześć modyfikatorów dostępu, których można używać do kontrolowania poziomów dostępności klas, zmiennych i metod. Sześć modyfikatorów dostępu to:

instagram viewer

  • publiczny: każda klasa (niezależnie od jej zestawu) może uzyskać dostęp do klasy publicznej i jej publicznych członków (atrybutów, konstruktorów i metod).
  • prywatny: tylko klasa prywatna i jej członkowie mają do niej dostęp.
  • chroniony: tylko klasy pochodne (klasy dzieci i wnuków) mają dostęp do klasy chronionej.
  • wewnętrzny: tylko klasy w tym samym zestawie mają dostęp do klasy wewnętrznej.
  • chronione wewnętrzne: tylko klasy w tym samym zestawie lub klasie pochodnej z innego zestawu mogą uzyskać dostęp do chronionej klasy wewnętrznej.
  • prywatne chronione: tylko klasy pochodne w tym samym zestawie mogą uzyskać dostęp do prywatnej klasy chronionej.

Deklarowanie i uzyskiwanie dostępu do atrybutów

Atrybuty to elementy składowe tworzonych przez Ciebie klas. Przechowują poufne dane i zwykle mają prywatny lub chroniony modyfikator dostępu. Dlatego, aby uzyskać dostęp do tych klas z klas zewnętrznych, trzeba by użyć akcesorów i mutatorów (getterów i seterów).

C# umożliwia deklarowanie atrybutów, mutatorów i akcesorów w następujący sposób:

wewnętrzny klasaKlient
{
// atrybuty
prywatnyint Numer identyfikacyjny;
prywatny ciąg Nazwa;
prywatnypodwójnie Całkowity;

// setery
publicznypróżniaUstawIdNumer(int Numer identyfikacyjny){ ten.IdNumer = IdNumer; }
publicznypróżniaNazwa zestawu(ciąg Nazwa){ ten.Nazwa = Imię; }
publicznypróżniaUstaw sumę(podwójnie Całkowity){ ten.Łącznie = Razem; }

// pobierające
publicznyintGetIdNumber(){ zwrócićten.Numer identyfikacyjny; }
publiczny strunowy PobierzNazwę(){ zwrócićten.Nazwa; }
publicznypodwójniePobierz sumę(){ zwrócićten.Całkowity; }
}

Inne popularne języki obiektowe również skorzystaj z powyższego podejścia. W rzeczywistości, jeśli chcesz tworzyć klasy Java, będziesz musiał użyć powyższej struktury. Jednak C# ma teraz łatwiejszy sposób tworzenia atrybutów i akcesorów. W C# ta klasa ma taką samą funkcję jak powyższa:

wewnętrzny klasaKlient
{
public int IdNumer { Dostawać; ustawić; }
ciąg publiczny Nazwa { Dostawać; ustawić; }
publiczne podwójne Razem { Dostawać; ustawić; }
}

Powyższa klasa zawiera to, co wywołuje C# nieruchomości, który jest kombinacją atrybutów (pól) i metod. Z nieruchomości, możesz zmniejszyć deklarację atrybutów, mutatory i kod akcesorów o połowę.

Deklarowanie konstruktorów

Konstruktory to kolejny podstawowy aspekt klasy. Aby stworzyć obiekt z klasy, będziesz musiał wywołać jeden z jej konstruktorów. Każdy konstruktor ma opcjonalny modyfikator dostępu i taką samą nazwę jak jego klasa. W przypadku języków programowania obiektowego istnieją zasadniczo trzy typy konstruktorów:

  • Konstruktor domyślny: nie przyjmuje argumentów i zapewnia każdemu atrybutowi wartość domyślną.
  • Konstruktor podstawowy: przyjmuje jeden lub więcej argumentów (w zależności od liczby zmiennych w klasie).
  • Konstruktor kopiujący: przyjmuje inny konstruktor jako argument.

C# zawiera termin ogólny dla konstruktorów domyślnych i podstawowych powyżej — konstruktorów wystąpień. Ten język programowania ma również dwa inne konstruktory (prywatny i statyczny). Ten artykuł skupia się na trzech tradycyjnych konstruktorach.

Konstruktor domyślny

// domyślny konstruktor
publiczny Klient()
{
Numer Id = 0;
Nazwa = "nieznany";
Razem = 0;
}

Główny Konstruktor

// główny konstruktor
publicznyKlient(int IdNumber, ciąg Nazwa, ciąg CustomerType, podwójnie Całkowity)
{
ten.IdNumer = IdNumer;
ten.Nazwa = Imię;
ten.Łącznie = Razem;
}

Konstruktor kopii

// kopiuj konstruktor
publiczny Klient (Klient poprzedniKlient)
{
ten.IdNumber = poprzedniKlient. Numer identyfikacyjny;
ten.Nazwa = poprzedniKlient. Nazwa;
ten.Łącznie = poprzedniKlient. Całkowity;
}

Tworzenie metod

Metody nie są kluczowym elementem klasy, ale są przydatne. Klasa może mieć jedną lub więcej metod. Metoda ma modyfikator dostępu, typ zwracany, nazwę i treść.

// metoda
publiczny string Szczegóły klienta()
{
zwrócić " ID: " + Numer identyfikacyjny + " Nazwa: " + Imię + " Całkowity: " + Razem;
}

Powyższy kod zwraca ciąg reprezentujący obiekt klienta.

Tworzenie obiektów

Po stworzeniu kompletnej klasy, wyposażeniu jej w atrybuty, konstruktory i metodę, możesz zacząć tworzyć obiekty przy użyciu różnych konstruktorów. Aby utworzyć obiekt bez atrybutów, możesz użyć domyślnego konstruktora:

Klient Jan = Nowy Klient();

Powyższy wiersz kodu tworzy domyślnego klienta i przypisuje go do zmiennej o nazwie Jan. Z Jan, możesz uzyskać dostęp do wartości domyślnej każdego atrybutu klienta.

Konsola.WriteLine(Jan.Nazwa);

Wykonanie powyższego kodu powoduje wyświetlenie w konsoli:

Nieznany

Możesz także użyć Jan zmienna umożliwiająca dostęp do dowolnej metody w klasie klienta.

Konsola.WriteLine(Jan.Szczegóły klienta());

Wykonanie powyższego wiersza kodu wyświetla w konsoli następujące dane wyjściowe:

ID: 0 Nazwa: nieznany Razem: 0

Aby stworzyć obiekt z atrybutami, użyjesz konstruktora podstawowego:

Klient Jan = nowy Klient (1001, "nieznany z nazwiska", 250.20);
Konsola.WriteLine(Jan.Szczegóły klienta());

Wykonanie powyższego kodu wyświetla w konsoli następujące dane wyjściowe:

ID: 1001 Nazwa: JanŁaniaCałkowity: 250.2

Aby utworzyć kopię powyższego obiektu, możesz użyć konstruktora kopiującego:

Klient Johnny = Nowy Klient (Jan);
Konsola.WriteLine(Jasio.Szczegóły klienta());

Wykonanie powyższego kodu wyświetla w konsoli następujące dane wyjściowe:

ID: 1001 Nazwa: JanŁaniaCałkowity: 250.2

Jak widać konstruktor kopiujący jest kopią konstruktora podstawowego. Konstruktor kopiujący może również przyjąć domyślny konstruktor jako argument:

Klient Jan = Nowy Klient();
Klient Johnny = Nowy Klient (Jan);
Konsola.WriteLine(Jasio.Szczegóły klienta());

Wykonanie powyższego kodu wyświetla w konsoli następujące dane wyjściowe:

ID: 0 Nazwa: nieznany Razem: 0

Teraz możesz tworzyć i używać klas C#

Możesz użyć paradygmatu obiektowego w C# do definiowania klas i tworzenia z nich obiektów. Możesz stworzyć metody dla każdej klasy, które mogą następnie operować na atrybutach ich obiektów.

Jednak paradygmat obiektowy nie jest jedynym, który musisz znać. Trzy najważniejsze paradygmaty programowania to imperatywne, zorientowane obiektowo i funkcjonalne.