Введение в объекты в C #

Как уже известно, C # является объектно-ориентированным языком программирования и произносится как C Sharp. Хотя C # был развит из C ++, оба дифференцируются друг с другом. Основные различия можно понять через C ++ против C #.

Объект является экземпляром класса. Здесь память выделяется динамически для обеспечения вывода данной программы. Итак, как мы можем объяснить это динамическое распределение? Я бы попытался объяснить это немного нетехническим способом. Объекты создаются для доступа к различным функциям или переменным, которые определены в классе. Таким образом, объект не знает, к какому типу данных он фактически будет обращаться. Таким образом, после получения значения из элементов, к которым осуществляется доступ, он будет динамически распределять память.

Создание объекта

В общем, объект может быть создан двумя способами. Одним из них является использование «новой» команды. Общий синтаксис для объекта ниже:

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

И затем, используя имя объекта, мы можем получить доступ к соответствующим методам и переменным, которые определены внутри класса.

Другой способ определения объекта - это ссылка на другой объект. Что-то вроде присвоения значения.

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

И мы можем получить доступ к переменной и методам в классе, используя объекты, object-name1 и object-name2.

Примеры объектов в C #

Здесь у нас будет один пример для каждого способа создания объекта в C #.

Ниже приведена программа для нахождения квадрата числа.

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);
)
)

Выход:

Итак, в вышеуказанной программе

  • Мы создали класс Square и написали две функции внутри класса. Одна функция, которая также является конструктором (имя функции совпадает с именем класса), предназначена для ввода значения числа, а другая - для выполнения фактической операции.
  • В нашем классе First, у которого есть главная функция внутри, мы инициализировали наш объект 's' и передали параметр, для которого мы фактически хотим выполнить квадратную операцию.
  • И мы объявили переменный результат; мы передаем выходные данные метода доступа к объекту 'Sq', который выполняет фактическую операцию.
  • Наконец, вывод квадратного результата в нашей консоли.

Для нашего следующего способа создания объекта, пример приведен ниже:

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);
)
)

Выход:

И в дополнение к этому мы можем даже присвоить значение нашей переменной, используя объект. Посмотрим, как мы можем это сделать.

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);
)
)

Здесь мы получили доступ к переменной и изменили ее значение с 6 на 7. Затем выходные данные печатаются после инициализации значения новой переменной result3. Полученный результат ниже.

Выход:

До этого момента мы создали объект и ссылались на него в едином текстовом формате. Теперь давайте посмотрим, что если нам потребуется массив объектов для хранения и манипулирования нашими данными.

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);
)
)

В приведенной выше программе так же, как и раньше, мы создали массив объектов и присвоили значение каждому объекту. Затем мы выполнили нашу вторую функцию, чтобы сгенерировать квадрат из двух чисел.

Вывод вышеизложенного заключается в следующем:

Выход:

В качестве упражнения вы можете попробовать загрузить оценки 5 учеников по 3 предметам, используя массив объектов?

Вывод

Как было показано выше, мы успешно создали объект различными способами и использовали его для присвоения значений переменным и вызова функций, присутствующих внутри класса. Но здесь нам нужно понять и следовать нескольким правилам, основанным на модификаторах доступа. Объект не может получить доступ к переменным / функциям с помощью «частного» модификатора доступа, который принадлежит другому классу. Но может получить доступ к тем же переменным класса или функциям, хотя объявлено с модификатором private. Таким образом, таким образом, существует набор правил, которые определяются в отношении классов, переменных, функций и объектов.

Попробуйте поиграть в создание объектов по-разному с различными модификаторами доступа и проверить выходы, чтобы узнать объем объектов и продолжить обучение.

Рекомендуемые статьи

Это руководство по объектам в C #. Здесь мы обсуждаем различные способы создания объектов в C # вместе с примерами и его реализацией кода. Вы также можете посмотреть следующие статьи, чтобы узнать больше -

  1. Деструктор в C #
  2. C # Jagged Arrays
  3. Функции C #
  4. Что такое многопоточность в C #?
  5. Объект на Java
  6. Методы многопоточности в C #