Samouczek klas i obiektów C# z przykładami

⚡ Inteligentne podsumowanie

Klasy i obiekty C# wprowadzają do aplikacji strukturę obiektową poprzez opakowanieping powiązane właściwości danych i metody w ramach jednego projektu. Każdy obiekt jest instancją klasy, która przechowuje własne wartości tych właściwości.

  • 🔸 Klasa: Klasa hermetyzuje właściwości danych i metody operujące na tych danych w jednym szablonie nadającym się do ponownego wykorzystania.
  • 🎯 Obiekt: Obiekt to instancja klasy w czasie wykonywania, która przechowuje konkretne wartości swoich właściwości.
  • 🏗️. Kreacja: Słowo kluczowe new tworzy obiekt, jak w Tutorial pTutor = new Tutorial(), przydzielając mu pamięć.
  • 🧱 Pola i metody: Pola przechowują stan obiektu, podczas gdy metody takie jak SetTutorial i GetTutorial definiują jego zachowanie.
  • 🔐 Kapsułkowanie: Modyfikatory dostępu, takie jak public i private, kontrolują, do których pól i metod spoza kodu można uzyskać dostęp.
  • 🤖 Pomoc AI: GitHub Copilot tworzy szkielet definicji klas, podczas gdy ML.NET wykorzystuje dane obiektów jako funkcje dla modeli uczenia maszynowego.

Klasa i obiekt C#

C# opiera się na C++ język programowania. Dlatego język programowania C# ma wbudowaną obsługę klas i obiektów. Klasa to nic innego jak hermetyzacja właściwości i metod używanych do reprezentowania jednostki w czasie rzeczywistym.

Na przykład, jeśli chcesz pracować z danymi pracownika w określonej aplikacji.

Właściwościami pracownika będą identyfikator i imię i nazwisko pracownika. Metody te obejmowałyby wprowadzanie i modyfikację danych pracowników.

Wszystkie te operacje można przedstawić jako klasę w C#. W tym rozdziale przyjrzymy się, jak możemy pracować z klasami i obiektami w C# bardziej szczegółowo.

Co to jest klasa i obiekt?

Zacznijmy najpierw od zajęć.

Jak omówiliśmy wcześniej, klasy są enkapsulacją właściwości danych oraz metody danych.

  • Właściwości służą do opisywania danych, które klasa będzie przechowywać.
  • Metody te określają, jakie operacje można wykonać na danych.

Aby lepiej zrozumieć klasę i obiekty, spójrzmy na poniższy przykład przedstawiający wygląd klasy.

Nazwa klasy to „Tutorial”. Klasa ma następujące właściwości

  1. Identyfikator samouczka – Będzie to wykorzystywane do przechowywania unikalnego numeru, który będzie reprezentował Samouczek.
  2. Nazwa samouczka – Będzie to używane do przechowywania nazwy samouczka w postaci ciągu znaków.

Klasa obejmuje również metody. Nasza klasa ma następujące metody,

  1. Ustaw samouczek – Ta metoda zostanie użyta do ustawienia identyfikatora i nazwy samouczka. Na przykład, jeśli chcielibyśmy stworzyć tutorial dla .Net, moglibyśmy stworzyć do tego obiekt. Obiekt miałby identyfikator, powiedzmy 1. Po drugie, przypisalibyśmy nazwę „.Net” jako nazwę samouczka. Wartość identyfikatora wynosząca 1 i nazwa „.Net” zostaną zapisane jako właściwość obiektu.
  2. Pobierz samouczek – Ta metoda służyłaby do uzyskania szczegółów konkretnego samouczka. Jeśli więc chcielibyśmy uzyskać nazwę samouczka, ta metoda zwróciłaby ciąg „.Net”.

Klasa i obiekt C#

Poniżej znajduje się migawka tego, jak obiekt może wyglądać w naszej klasie Tutorial. Mamy 3 obiekty, każdy z własnym odpowiednim TutorialID i TutorialName.

Klasa i obiekt C#

Jak utworzyć klasę i obiekt

Zagłębmy się teraz w szczegóły visual Studio aby utworzyć naszą klasę. Będziemy budować na naszej istniejącej aplikacji konsolowej, która została utworzona w poprzednim rozdziale. Utworzymy klasę w Visual Studio dla naszej bieżącej aplikacji.

Wykonajmy poniższe kroki, aby zastosować ten przykład.

Krok 1) Pierwszy krok obejmuje utworzenie nowej klasy w naszej istniejącej aplikacji. Odbywa się to za pomocą Visual Studio.

Utwórz klasę i obiekt

  1. Pierwszym krokiem jest kliknięcie prawym przyciskiem myszy rozwiązania, którym w naszym przypadku jest „DemoApplication”. Spowoduje to wyświetlenie menu kontekstowego z listą opcji.
  2. Z menu kontekstowego wybierz opcję Dodaj->Klasa. Zapewni to możliwość dodania klasy do istniejącego projektu.

Krok 2) Następnym krokiem jest podanie nazwy klasy i dodanie jej do naszego rozwiązania.

Utwórz klasę i obiekt

  1. W oknie dialogowym projektu musimy najpierw podać nazwę naszej klasy. Podajmy nazwę Tutorial.cs dla naszej klasy. Należy pamiętać, że nazwa pliku powinna kończyć się na .cs, aby mieć pewność, że będzie traktowana jako właściwy plik klasy.
  2. Gdy klikniemy przycisk Dodaj, klasa zostanie dodana do naszego rozwiązania.

Jeśli wykonasz powyższe kroki, w programie Visual Studio otrzymasz poniższy wynik.
Wynik:-

Utwórz klasę i obiekt

Do rozwiązania zostanie dodana klasa o nazwie Tutorial.cs. Jeśli otworzysz plik, znajdziesz poniższy kod dodany do pliku klasy.

Utwórz klasę i obiekt

Code Wyjaśnienie:-

  1. Pierwsza część zawiera obowiązkowe moduły, które Visual Studio dodaje do dowolnego pliku .Net. Te moduły są zawsze wymagane, aby zapewnić, że dowolny program .Net będzie działał w Windows środowisko.
  2. Druga część to klasa dodawana do pliku. W naszym przypadku nazwa klasy to „Tutorial”. Jest to nazwa, która została określona wraz z klasą dodaną do rozwiązania.

Na chwilę obecną nasz plik klasy nic nie robi. W poniższych tematach przyjrzymy się bardziej szczegółowo, jak pracować z klasą.

Pola i metody

Jak definiowano pola i metody w klasach, widzieliśmy już we wcześniejszym temacie.

W naszej klasie Tutorial możemy mieć następujące właściwości.

  1. Identyfikator samouczka – będzie używany do przechowywania unikalnego numeru, który będzie reprezentował samouczek.
  2. Nazwa samouczka – będzie używana do przechowywania nazwy samouczka w formacie ciąg.

Nasza klasa Tutorial może również zawierać metody wymienione poniżej.

  1. SetTutorial – Ta metoda będzie używana do ustawienia identyfikatora i nazwy samouczka.
  2. GetTutorial – Ta metoda służy do pobierania szczegółów konkretnego samouczka.

Zobaczmy teraz, jak możemy włączyć pola i metody do naszego kodu.

Krok 1) Pierwszym krokiem jest upewnienie się, że klasa Tutorial ma zdefiniowane odpowiednie pola i metody. W tym kroku dodamy poniższy kod do pliku Tutorial.cs.

Pola i metody

Code Wyjaśnienie:-

  1. Pierwszym krokiem jest dodanie pól TutorialID i TutorialName do pliku klasy. Ponieważ pole TutorialID będzie liczbą, definiujemy je jako liczbę całkowitą, natomiast pole TutorialName będzie zdefiniowane jako ciąg znaków.
  2. Następnie definiujemy metodę SetTutorial. Ta metoda akceptuje 2 parametry. Jeśli więc Program.cs wywoła metodę SetTutorial, będzie musiał podać wartości tych parametrów. Wartości te zostaną użyte do ustawienia pól obiektu Tutorial.
    1. Wartość pID wyniesie 1
    2. Wartość pName będzie wynosić .Net.
    3. W metodzie SetTutorial wartości te zostaną następnie przekazane do TutorialID i TutorialName.
    4. Zatem teraz TutorialID miałby wartość 1, a TutorialName miałby wartość „.Net”.
  3. Tutaj odpowiednio ustawiamy parametry pól klasy Tutorial. Ustawiliśmy więc TutorialID na pID i TutorialName na Pname.
  4. Następnie definiujemy metodę GetTutorial, aby zwrócić wartość typu „String”. Ta metoda zostanie użyta do zwrócenia TutorialName do programu wywołującego. Podobnie, możesz również uzyskać identyfikator tutoriala za pomocą metody Int GetTutorial
  5. Tutaj zwracamy wartość pola TutorialName do programu wywołującego.

Krok 2) Dodajmy teraz kod do naszego Program.cs, który jest naszą aplikacją konsolową. Aplikacja Console posłuży do utworzenia obiektu klasy „Tutorial” i odpowiedniego wywołania metod SetTutorial i GetTutorial.

(Note:- Obiekt jest instancją klasy w dowolnym momencie. Różnica między klasą a obiektem polega na tym, że obiekt zawiera wartości właściwości.)

Pola i metody

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  int TutorialID; 
  string TutorialName;
  
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  public String GetTutorial()
  {
   return TutorialName;
  }
  
  static void Main(string[] args) 
  {
   Tutorial pTutor=new Tutorial();
    
   pTutor.SetTutorial(1,".Net");
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

Code Wyjaśnienie:-

  1. Pierwszym krokiem jest utworzenie obiektu dla klasy Tutorial. Zaznacz tutaj, że odbywa się to za pomocą słowa kluczowego „nowy”. Słowo kluczowe „new” służy do tworzenia obiektu z klasy w języku C#. Obiekt zostaje następnie przypisany do pTutora zmienna.
  2. Następnie wywoływana jest metoda SetTutorial. Parametry 1 i „.Net” przekazywane są do metody SetTutorial. Zostaną one następnie użyte do odpowiedniego ustawienia pól „TutorialID” i „TutorialName” klasy.
  3. Następnie używamy metody GetTutorial klasy Tutorial, aby uzyskać TutorialName. Następnie jest on wyświetlany na konsoli za pomocą metody Console.WriteLine.

Jeżeli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlony zostanie następujący wynik.

Wyjście:

Pola i metody

Z danych wyjściowych wyraźnie wynika, że ​​metoda GetTutorial zwróciła ciąg „.Net”.

FAQ

Konstruktor to specjalna metoda, która dopasowuje nazwę klasy i uruchamia się automatycznie, gdy obiekt jest tworzony za pomocą polecenia new, inicjując jego pola wartościami początkowymi.

Słowo kluczowe new tworzy obiekt z klasy. Przydziela ono pamięć, wywołuje konstruktor i zwraca referencję, jak w Tutorial pTutor = new Tutorial().

Klasa to typ referencyjny przechowywany na stercie, natomiast struktura to typ wartości kopiowany podczas przypisania. Klasy obsługują dziedziczenie, struktury nie.

Modyfikatory dostępu ustawiają widoczność elementu. public udostępnia elementowi dowolny kod, private ogranicza go do tej samej klasy, a protected współdzieli go z klasami pochodnymi.

Tak. Klasa to projekt, więc możesz tworzyć wiele obiektów za pomocą nowych. Każdy obiekt zawiera własną kopię pól,ping ich wartości są niezależne.

Pole przechowuje dane bezpośrednio w klasie. Właściwość opakowuje pole za pomocą akcesorów „get” i „set”, kontrolując sposób odczytu lub zmiany wartości.

Tak. GitHub Copilot sugeruje definicje klas, pola, konstruktory i ciała metod na podstawie komentarza lub nazwy klasy w programie Visual Studio. VS Code. Revsprawdź każdy z nich pod kątem prawidłowych typów.

ML.NET modeluje dane wejściowe i wyjściowe jako klasy C#. Definiujesz klasę, której właściwości są odwzorowywane na cechy, ładujesz rekordy do obiektów i trenujesz na ich podstawie modele.

Podsumuj ten post następująco: