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 -
- Niszczyciel w C #
- C # Jagged Arrays
- Funkcje C #
- Co to jest wielowątkowość w C #?
- Obiekt w Javie
- Metody wielowątkowości w C #