Wprowadzenie do obiektów w C #

Jak już wiadomo, C # jest zorientowanym obiektowo językiem programowania i wymawia się jako C Sharp. Chociaż C # został rozwinięty z C ++, oba różnią się między sobą. Podstawowe różnice można zrozumieć za pomocą C ++ vs C #.

Obiekt jest instancją klasy. Tutaj pamięć jest alokowana dynamicznie w celu zapewnienia wyjścia danego programu. Jak więc wyjaśnić ten dynamiczny przydział? Próbowałbym to wyjaśnić w nieco nietechniczny sposób. Obiekty są tworzone w celu uzyskania dostępu do różnych funkcji lub zmiennych zdefiniowanych w klasie. Obiekt nie wie więc, do jakiego typu danych ma dostęp. Po uzyskaniu wartości z elementów, do których uzyskiwano dostęp, dynamicznie porządkuje pamięć.

Tworzenie obiektu

Zasadniczo obiekt można utworzyć na 2 sposoby. Jednym z nich jest użycie polecenia „nowy”. Ogólna składnia obiektu jest poniżej:

Class-name object-name = new Class-name();

Następnie za pomocą nazwy obiektu możemy uzyskać dostęp do odpowiednich metod i zmiennych zdefiniowanych w klasie.

Innym sposobem zdefiniowania obiektu jest odwołanie do innego obiektu. Coś jak przypisanie wartości.

Class-name object-name1 = new Class-name();
Class-name object-name2;
Object-name2=object-name1;

I możemy uzyskać dostęp do zmiennej i metod w klasie przy użyciu obiektów, nazwa-obiektu1 i nazwa-obiektu2.

Przykłady obiektów w C #

Tutaj mamy jeden przykład dla każdego sposobu tworzenia obiektu w C #.

Poniżej znajduje się program do znajdowania kwadratu liczby.

using System;
class Square
(
public int side;
public Square(int a)
(
side=a;
)
public int Sq()
(
return side*side;
)
)
class First
(
static void Main(String () args)
(
int result;
Square s= new Square(4);
result=s.Sq();
Console.WriteLine("Square of the given number is " + result);
)
)

Wynik:

W powyższym programie

  • Stworzyliśmy kwadrat klasy i napisaliśmy dwie funkcje wewnątrz klasy. Jedną z funkcji, która jest również konstruktorem (nazwa funkcji taka sama jak dla nazwy klasy), jest wprowadzanie wartości liczby, a druga do wykonywania rzeczywistej operacji.
  • W naszej klasie First, która ma w sobie główną funkcję, zainicjalizowaliśmy nasz obiekt 's' i przekazaliśmy parametr, dla którego liczby faktycznie chcemy wykonać operację kwadratową.
  • I zadeklarowaliśmy zmienny wynik; przekazujemy dane wyjściowe metody dostępu do obiektu „Sq”, która wykonuje rzeczywistą operację.
  • Na koniec wyświetlenie kwadratowego wyniku w naszej konsoli.

Przykładem naszego następnego sposobu tworzenia obiektu jest:

using System;
class Square
(
public int side;
public Square(int a)
(
side=a;
)
public int Sq()
(
return side*side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2;
Square s1= new Square(4);
Square s2;
s2=s1;
result1=s1.Sq();
result2=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
)
)

Wynik:

A do rozszerzenia tego możemy nawet przypisać wartość do naszej zmiennej za pomocą obiektu. Zobaczmy, jak możemy to zrobić.

using System;
class Square
(
public int Side;
public Square(int side)
(
Side=side;
)
public int Sq()
(
return Side*Side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2, result3;
Square s1= new Square(4);
Square s2= new Square(6);
result1=s1.Sq();
result2=s2.Sq();
s2.Side=7;
result3=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
)
)

Tutaj uzyskaliśmy dostęp do zmiennej i zmieniliśmy jej wartość z 6 na 7. Następnie wynik jest drukowany po zainicjowaniu wartości do nowej zmiennej wynik3. Uzyskana wydajność jest poniżej.

Wynik:

Do tego momentu stworzyliśmy obiekt i odwołaliśmy się do niego w jednym formacie tekstowym. Zobaczmy teraz, co będzie, jeśli potrzebujemy szeregu obiektów do przechowywania i manipulowania naszymi danymi.

using System;
class Square
(
public int Side;
public void Sqr(int side)
(
Side=side;
)
public int Sq()
(
return Side*Side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2, result3;
Square() sq = new Square(3);
sq(0)= new Square();
sq(1)= new Square();
sq(2)= new Square();
sq(0).Side=13;
sq(1).Side=85;
sq(2).Side=25;
result1=sq(0).Sq();
result2=sq(1).Sq();
result3=sq(2).Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
)
)

W powyższym programie, tak samo jak poprzednio, stworzyliśmy tablicę obiektów i przypisaliśmy wartość do każdego obiektu. Następnie wykonaliśmy naszą drugą funkcję, aby wygenerować kwadrat dwóch liczb.

Wynik powyższego leży poniżej:

Wynik:

Czy jako ćwiczenie możesz spróbować załadować oceny 5 uczniów na 3 przedmioty, używając tablicy obiektu?

Wniosek

Jak widać powyżej, z powodzeniem stworzyliśmy obiekt na różne sposoby i wykorzystaliśmy go do przypisywania wartości do zmiennych i wywoływania funkcji obecnych w klasie. Ale tutaj musimy zrozumieć i przestrzegać kilku zasad opartych na modyfikatorach dostępu. Obiekt nie może uzyskać dostępu do zmiennych / funkcji za pomocą „prywatnego” modyfikatora dostępu, który należy do innej klasy. Ale może uzyskać dostęp do zmiennych lub funkcji tej samej klasy, choć zadeklarowanych za pomocą prywatnego modyfikatora. W ten sposób istnieje zestaw reguł, które są zdefiniowane w odniesieniu do klas, zmiennych, funkcji i obiektów.

Spróbuj bawić się w tworzeniu obiektów na różne sposoby z różnymi modyfikatorami dostępu i sprawdź wyniki, aby poznać zakres obiektów i kontynuować naukę.

Polecane artykuły

Jest to przewodnik po obiektach w C #. Tutaj omawiamy różne sposoby tworzenia obiektów w C # wraz z przykładami i implementacją kodu. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Niszczyciel w C #
  2. C # Jagged Arrays
  3. Funkcje C #
  4. Co to jest wielowątkowość w C #?
  5. Obiekt w Javie
  6. Metody wielowątkowości w C #