Latest web development tutorials

C # класс (класс)

Когда вы определяете класс, вы определяете план для типа данных. Это на самом деле не определяет каких-либо данных, но она определяет имя класса, что это значит, то есть, что представляет собой класс объектов и выполнять то, что операции над объектом. Объекты являются экземплярами классов. Методы и переменные, составляющие класс становится членами класса.

определение класса

Определение класса, чтобы начать, а затем имя классакласса ключевых слов.Тело класса, который содержится внутри пары фигурных скобок. Ниже приведен общий вид определения класса:

<Спецификатор доступа> Класс class_name 
{
    // Переменные-члены
    <Спецификатор доступа> <тип данных> variable1;
    <Спецификатор доступа> <тип данных> variable2;
    ...
    <Спецификатор доступа> <тип данных> variableN;
    // Методы-члены
    <Спецификатор доступа> <возвращаемый тип> method1 (parameter_list) 
    {
        // Метод тела 
    }
    <Спецификатор доступа> <возвращаемый тип> method2 (parameter_list) 
    {
        // Метод тела 
    }
    ...
    <Спецификатор доступа> <возвращаемый тип> methodN (parameter_list) 
    {
        // Метод тела 
    }
}

Пожалуйста, обратите внимание:

  • Доступ Идентификатор <спецификатор доступа> определяет класс правила доступа и его членов. Если не указано, идентификатор доступа по умолчанию. По умолчанию Идентификатор доступа класса являетсявнутренним, члены идентификатора доступа по умолчанию является частным.
  • Тип данных <тип данных> определяет тип переменной, тип возвращаемого значения <возвращаемый тип> указывает тип данных, возвращаемых метод возвращает.
  • Если вы хотите получить доступ к члену класса, вы хотите использовать точка (.) Оператора.
  • Оператор Dot связывает имя имени и членов объекта.

Следующие примеры иллюстрируют обсуждаемой до сих пор:

с помощью системы;
Пространство имен BoxApplication
{
    класс Box
    {
       общественности двойной длины; // длина общественности двойной ширины; // ширина общественного двойной высоты; // высота}
    класс Boxtester
    {
        статической силы основных (String [] агдз)
        {
            Box Box1 = новая коробка (); // Объявляем BOX1, тип коробки
            Box Box2 = новая коробка (); // Объявляем BOX2, тип коробки
            двойной объем = 0.0; // // Box1 объем детализации Box1.height = 5,0;
            Box1.length = 6,0;
            Box1.breadth = 7,0;

            // Box2 подробно Box2.height = 10,0;
            Box2.length = 12,0;
            Box2.breadth = 13,0;
           
            // Box1 объем объем = Box1.height * Box1.length * Box1.breadth;
            Console.WriteLine ( "объем Box1: {0}", объем);

            // Box2 объем объем = Box2.height * Box2.length * Box2.breadth;
            Console.WriteLine ( "объем Box2: {0}", объем);
            Console.ReadKey ();
        }
    }
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Box1 объем: 210
Box2 объем: 1560

Функции-члены и пакет

Функции-члены класса это прототип определения или функции в определении класса, так же, как и любая другая переменная. В качестве члена класса, он может работать на любом классе объектов, все члены и могут получить доступ к классу объекта.

Переменные-члены являются свойствами объектов (с дизайнерской точки зрения), и они остаются закрытыми для реализации пакета. Эти переменные могут быть использованы только для получения доступа к функции-члены.

Давайте использовать приведенные выше понятия для установки и получения значения другого типа членов класса:

с помощью системы;
Пространство имен BoxApplication
{
    класс Box
    {
       частные двойной длины; // длина частный двойной ширины; // ширина частный двойной высоты; // высота риЬИс Vо SetLength (двойная LEN)
       {
            длина = Len;
       }

       общественного недействительными setBreadth (двойной Зав)
       {
            ширина = гн;
       }

       общественного недействительными setHeight (двойной хей)
       {
            высота = хей;
       }
       общественный двойной getVolume ()
       {
           возвращение длина * ширина * высота;
       }
    }
    класс Boxtester
    {
        статической силы основных (String [] агдз)
        {
            Box Box1 = новая коробка (); // Объявляем BOX1, тип коробки
            Box Box2 = новая коробка (); // Объявляем BOX2, тип коробки
            двойной объем; // // Box1 объем детализации Box1.setLength (6,0);
            Box1.setBreadth (7,0);
            Box1.setHeight (5,0);

            // Box2 подробно Box2.setLength (12,0);
            Box2.setBreadth (13,0);
            Box2.setHeight (10,0);
       
            // Box1 объем объема = Box1.getVolume ();
            Console.WriteLine ( "объем Box1: {0}", объем);

            // Box2 объем объема = Box2.getVolume ();
            Console.WriteLine ( "объем Box2: {0}", объем);
           
            Console.ReadKey ();
        }
    }
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Box1 объем: 210
Box2 объем: 1560

C # Конструкторы

Конструктор класса имеется специальная функция член класса выполняется при создании нового класса объектов.

Имя Имя конструктора класса точно так же, он не имеет тип возвращаемого значения.

Следующий пример иллюстрирует концепцию конструктора:

с помощью системы;
Пространство имен LineApplication
{
   класс Line
   {
      частные двойной длины; // длина линии общественной линии ()
      {
         Console.WriteLine ( "Объект был создан");
      }

      общественного недействительными SetLength (двойная LEN)
      {
         длина = Len;
      }
      общественный двойной GetLength ()
      {
         возвращать длину;
      }

      статической силы основных (String [] агдз)
      {
         Линия Линия = новая линия ();    
         // Установить длину строки line.setLength (6.0);
         Console.WriteLine ( "Длина линии: {0}", line.getLength ());
         Console.ReadKey ();
      }
   }
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Созданные объекты длина линии: 6

Конструктор по умолчанию не имеет параметров.Но если вам нужен конструктор с параметром может иметь аргументы, этот конструктор вызываетсяПараметризованный конструктор.Этот метод может помочь вам создать объект, а объект присвоить начальные значения, см следующие конкретные примеры:

с помощью системы;
Пространство имен LineApplication
{
   класс Line
   {
      частные двойной длины; // длина линии общественной линии (двойная LEN) // параметризованный конструктор {
         Console.WriteLine ( "Объект был создан, длина = {0}", длина);
         длина = Len;
      }

      общественного недействительными SetLength (двойная LEN)
      {
         длина = Len;
      }
      общественный двойной GetLength ()
      {
         возвращать длину;
      }

      статической силы основных (String [] агдз)
      {
         Линия линия = новая линия (10,0);
         Console.WriteLine ( "Длина линии: {0}", line.getLength ()); 
         // Установить длину строки line.setLength (6.0);
         Console.WriteLine ( "Длина линии: {0}", line.getLength ()); 
         Console.ReadKey ();
      }
   }
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Объект был создан, длина = 10
Длина линии: 10
Длина линии: 6

В C # деструктор

Классдеструктора является специальная функция член класса, когда тип объекта находится вне диапазона.

Имя деструктор перед именем класса с волнистым (~) в качестве префикса, он не возвращает значение, то оно не принимает никаких параметров.

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

Следующий пример иллюстрирует концепцию деструктора:

с помощью системы;
Пространство имен LineApplication
{
   класс Line
   {
      частные двойной длины; // длина линии общественной линии () {// конструктор
         Console.WriteLine ( "Объект был создан");
      }
      ~ Line () // деструктор {
         Console.WriteLine ( "Объект был удален");
      }

      общественного недействительными SetLength (двойная LEN)
      {
         длина = Len;
      }
      общественный двойной GetLength ()
      {
         возвращать длину;
      }

      статической силы основных (String [] агдз)
      {
         Линия Линия = новая линия ();
         // Установить длину строки line.setLength (6.0);
         Console.WriteLine ( "Длина линии: {0}", line.getLength ());           
      }
   }
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Созданные объекты длина линии: 6
Удаленные объекты 

C # статический класс член

Мы можем использовать ключевое словостатический член класса объявлен статическим.Когда мы объявляем член класса является статическим, а это означает, что независимо от того, как создается объект класса много, есть только одна копия статических членов.

Только один экземпляр членов ключевого слова означает , чтостатические класс.Статические переменные используются для определения констант, потому что их значение можно вызвать напрямую, без необходимости создания экземпляра класса класса, чтобы получить. Статические переменные могут быть инициализированы в определении функции внешнего члена или класса. Кроме того, можно инициализировать статические переменные, определенные в классе.

Следующий пример демонстрирует использованиестатических переменных:

с помощью системы;
Пространство имен StaticVarApplication
{
    класс StaticVar
    {
       открытые статические INT Num;
        общественного недействительными подсчет ()
        {
            Num ++;
        }
        общественное INT GetNum ()
        {
            вернуть Num;
        }
    }
    класс StaticTester
    {
        статической силы основных (String [] агдз)
        {
            StaticVar s1 = новый StaticVar ();
            StaticVar s2 = новый StaticVar ();
            s1.count ();
            s1.count ();
            s1.count ();
            s2.count ();
            s2.count ();
            s2.count ();         
            Console.WriteLine ( "s1 переменная Num: {0}", s1.getNum ());
            Console.WriteLine ( "s2 переменная Num: {0}", s2.getNum ());
            Console.ReadKey ();
        }
    }
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

s1 переменная Num: 6
s2 переменная Num: 6

Вы также можете поместитьфункцию - членобъявлен какстатический.Такие функции могут получить доступ только к статическим переменным. Статическая функция перед созданием объекта, он существует. Следующий пример демонстрирует использованиестатических функций:

с помощью системы;
Пространство имен StaticVarApplication
{
    класс StaticVar
    {
       открытые статические INT Num;
        общественного недействительными подсчет ()
        {
            Num ++;
        }
        открытые статические INT GetNum ()
        {
            вернуть Num;
        }
    }
    класс StaticTester
    {
        статической силы основных (String [] агдз)
        {
            StaticVar S = новый StaticVar ();
            s.count ();
            s.count ();
            s.count ();                   
            Console.WriteLine ( "переменная Num: {0}", StaticVar.getNum ());
            Console.ReadKey ();
        }
    }
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Переменная Num: 3