Różnica między klasą a strukturą w C #

Kluczowa różnica - klasa vs Struktura w C #
 

C # to nowoczesny, uniwersalny język programowania wysokiego poziomu opracowany przez Microsoft. Jest to język programowania, który ma podobne podobieństwo do Java. Zawiera silne funkcje programowania, takie jak delegaci, indeksujący i zintegrowane zapytanie językowe. Główną zaletą C # jest to, że obsługuje programowanie obiektowe (OOP). OOP jest przydatne do modelowania programu lub złożonego oprogramowania przy użyciu obiektów. Obiekty są tworzone za pomocą klas. Struktura jest również koncepcją w języku C #. W programowaniu zmienna jest obszarem przechowywania, w którym można przechowywać dane. Każda zmienna ma określony typ danych do przechowywania. Dwa typy danych to typ wartości i typ odniesienia. W typie wartości można przypisać wartość bezpośrednio. Niektóre przykłady to int, char, float. Typy danych typu odniesienia nie przechowują rzeczywistych danych, ale zawierają odwołanie do zmiennej. Klasy i struktury przechowują dane. W tym artykule omówiono różnicę między klasą a strukturą w języku C #. The kluczowa różnica między klasą a strukturą w C # jest, klasa jest typem danych typu odniesienia, podczas gdy struktura jest typem danych typu wartości.

ZAWARTOŚĆ

1. Przegląd i kluczowa różnica
2. Co to jest klasa w C #
3. Co to jest struktura w C #
4. Podobieństwa między klasą a strukturą w C #
5. Porównanie obok siebie - Klasa vs struktura w C # w formie tabelarycznej
6. Podsumowanie

Co to jest klasa w C #?

W OOP wszystko jest traktowane jako obiekt. W programie lub oprogramowaniu istnieje dowolna liczba obiektów. Te obiekty nie istnieją w izolacji. Każdy obiekt współdziała z innymi obiektami. Ta komunikacja odbywa się za pomocą akcji. Obiekt składa się z atrybutów i metod. Atrybuty określają cechy obiektu, a metody określają działania lub zachowania obiektu. Obiekty są tworzone za pomocą klasy. Klasa jest podobna do opisu lub schematu, aby utworzyć obiekt. Klasa ma atrybuty i metodę, które powinny być zawarte w obiekcie. Tworzenie obiektu za pomocą klasy jest znane jako tworzenie instancji. Aby utworzyć obiekt typu Student, powinna istnieć klasa o nazwie Student. Aby zdefiniować klasę w języku C #, używane jest słowo kluczowe „class”.

Klasa zawiera konstruktor. Jest to specjalna funkcja wykonywana przy każdym tworzeniu nowego obiektu klasy. Konstruktor ma taką samą nazwę jak klasa. Nie ma typu zwrotu. Domyślny konstruktor nie ma żadnych parametrów. Sparametryzowany konstruktor zawiera parametry. Klasa może również zawierać destruktor. Jest to specjalna funkcja, która jest wykonywana, gdy obiekt klasy wykracza poza zakres. Destructor ma taką samą nazwę jak nazwa klasy i zaczyna się od ~. Nie zwraca żadnej wartości i nie wymaga parametrów.

Klasa Student zawiera atrybuty i metody, które powinny istnieć w tworzonych obiektach.

using System;

przestrzeń nazw Aplikacja1

klasa Student

int studentID;

nazwa ciągu;

public Student (int sid, string sname)

studentID = sid;

name = sname;

~ Student ();

public void displayDetails ()

Konsola. WriteLine („Student ID to 0”, studentID);

Konsola. WriteLine („Nazwisko studenta to 0”, imię);

klasa StudentInfomation

static void Main (string [] args)

Student s = nowy Student (1, „Ann”);

s.displayDetails ();

Console.ReadLine ();

Zgodnie z powyższym programem przestrzeń nazw nosi nazwę Aplikacja 1. Przestrzeń nazw zawiera powiązany zestaw klas. Klasa Student ma dwie właściwości identyfikatora i nazwiska studenta. W programie głównym tworzony jest obiekt Studenta. Ten przedmiot to „. Podczas tworzenia obiektu konstruktor ustawia wartości. Następnie wywoływana jest metoda displayDetails. To wydrukuje identyfikator i imię studenta.

Klasy mogą również implementować dziedziczenie. Dziedziczenie jest funkcją programowania obiektowego. Wykorzystuje atrybuty i metody już istniejącej klasy. Dlatego klasa może odziedziczyć inną klasę.

Co to jest struktura w C #?

Struktura jest typem danych typu wartości w C #. Jest to jedna zmienna, która przechowuje wiele typów danych. Struktura może reprezentować określony rekord. Struktura zawiera atrybuty. Uczeń ma takie atrybuty jak identyfikator, imię i wiek. Struktura jest definiowana za pomocą słowa kluczowego „struct”. Program o strukturze jest następujący.

using System;

struct Student

int publiczny;

nazwa publicznego ciągu;

;

uczeń klasy publicznej ()

public static void main (string [] args)

Student;

s.id = 1;

s.name = „Ann”;

Console.WriteLine („Student id 0”, s.id);

Console.WriteLine („Student name 0”, s.name);

Console.ReadLine ();

Zgodnie z powyższym programem struktura zawiera dwie właściwości. Są to identyfikator i imię. W programie głównym oświadczenie Studenta deklaruje typ Studenta. Następnie identyfikator i nazwa otrzymały wartości. Wreszcie są one drukowane na ekranie.

Nie można zmienić domyślnego konstruktora struktury, ponieważ domyślny konstruktor jest automatycznie definiowany. Struktura nie zawiera destruktorów. W przeciwieństwie do klasy, struktura nie może dziedziczyć innej klasy lub innej struktury.

Jakie są podobieństwa między klasą a strukturą w C #?

  • Oba mają atrybuty i metody.
  • Zarówno klasa, jak i struktura mogą implementować jeden lub więcej interfejsów.

Jaka jest różnica między klasą a strukturą w C #?

Klasa a struktura w C #

Klasa jest planem używanym do tworzenia obiektu. Struktura to typ danych typu wartości, który może przechowywać powiązane dane różnych typów danych.
 Typ danych
Klasa jest typem danych typu referencyjnego. Struktura to typ danych typu wartości.
Dziedzictwo
Klasa może dziedziczyć z innych klas lub struktur. Struktura nie może dziedziczyć innych klas ani struktur.
 Instancja
Klasa tworzy obiekt za pomocą nowego słowa kluczowego. Struktura tworzy instancję obiektu bez użycia nowego słowa kluczowego.
Domyślny konstruktor
Może zmienić domyślny konstruktor klasy. Nie można zmienić domyślnego konstruktora struktury. Domyślny konstruktor jest definiowany automatycznie.
Burzyciel
Klasa może mieć destruktor. Struktura nie ma destruktora.

Podsumowanie - klasa vs Struktura w C # 

C # to język programowania stworzony przez Microsoft. Podczas programowania dane powinny być przechowywane. Dane są przechowywane w lokalizacjach pamięci i są one nazywane zmiennymi. Każda zmienna ma określony typ danych do przechowywania. Mogą istnieć typy danych typu wartości i typy danych typu odniesienia. Typy danych typu wartości przechowują rzeczywistą wartość. Typy danych typu odniesienia przechowują odwołanie do zmiennej. Klasa i struktura mają różne typy danych. Różnica między klasą a strukturą w języku C # polega na tym, że klasa jest typem danych typu odniesienia, podczas gdy struktura jest typem danych typu wartości.

Pobierz plik PDF klasy vs struktura w C #

Możesz pobrać wersję PDF tego artykułu i używać go do celów offline zgodnie z cytatem. Pobierz wersję PDF tutaj: Różnica między klasą a strukturą w C #

Odniesienie:

1.tutorialspoint.com. „Klasy C #”. The Point, dostępny tutaj 
2.tutorialspoint.com. „Struktury C #”. The Point, dostępny tutaj 

Zdjęcie dzięki uprzejmości:

1.'Logo C Sharp 'Przez Microsoft, (domena publiczna) przez Commons Wikimedia