Классы в C#
Сайт создан в системе uCoz
Меню сайта


Поиск по сайту
Loading


Форма входа


Помощь проекту

PayPal:

LiqPay or Credit/Debit Card:

W1 "Единый кошелек":
199990419310
WebMoney:
WME - E509190786817
WMZ - Z195499640086
WMU - U204403357554
WMR - R280087882619




Активные темы

  • Все вопросы касающиеся Neil Scope (7126)
  • инвертор на микропроцессоре с 12\220v с синусом на выходе (3)
  • Предложения по работе сайта и форума (18)
  • Изготовление ПП (7)
  • NeiLogicAnalyzer (48)
  • Двухполярный линейный БП с управлением на МК (91)
  • Заказ плат под NeilScope3 (12.2015) (60)
  • Первое знакомство с микроконтроллерами Silabs (105)
  • Куплю плату NS-3 (0)
  • Подскажите (0)



  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0



    Рекомендуемые браузеры: Mozzilla, Google Chrome






    Приветствую Вас, Пробегающий мимо · RSS 19.04.2024, 22:00

    Основы C#. Урок 10. Классы в C#

    Начиная с этого урока, приступаем к изучению классов.

    Сначала пару слов о том, что такое классы. Представьте себе, что у вас есть некоторый объект, который характеризуется рядом свойств. Например, работник на некой фирме. У него есть такие свойства, как фамилия, возраст, стаж и т. п. Так вот, в этом случае удобно каждого работника описывать не рядом независимых переменных (строкового типа для фамилии, целого типа для возраста и стажа), а одной переменной типа Worker, внутри которой и содержатся переменные для фамилии, возраста и стажа. Это здесь самое важное - что в переменной типа Worker содержаться другие переменные. Конечно, типа Worker среди встроенных типов данных нет - ну так эта не беда - мы можем ввести его.

    Еще одна важная вещь про классы - это то, что в классах помимо переменных разных типов содержатся функции (или, что тоже самое, методы) для работы с этими переменными. Скажем, в нашем примере с классом Worker логично ввесли специальные функции для записи возраста и стажа. Функции будут, в частности, проверять правильность вводимой информации. Например, ясно, что возраст у работника не может быть отрицательным или боольшим 150 ;). Так вот наша функция и будет проверять правильность введеного пользователем возраста.

    Давайте рассмотрим первый пример класса. Создайте новое консольное приложение для C# и введите следующий текст:

    using System;
    namespace test
    {
     //Начало класса
     class Worker
     {
     public int age=0;
     public string name; 
     }
     //Конец класса
    
     class Test
     {
     [STAThread]
     static void Main(string[] args)
     {
     Worker wrk1 = new Worker();
     wrk1.age=34;
     wrk1.name="Иванов";
     Console.WriteLine(wrk1.name+", "+wrk1.age);
     }
     }
    }

    Запустите программу. Она, как и следовало ожидать, выведет на экран "Иванов, 34".

    Давайте кратко обсудим наш код. Во-первых, в строчках

    ...
     class Worker
     {
     public int age=0;
     public string name; 
     }...

    мы оределили наш класс Worker. Внутри этого класса существует две переменные - целая age для возраста и name строкового типа для имени. Обратите внимание, что, в отличие от C/C++, мы можем задавать некоторое начальное значение прямо сразу после объявления переменной:

    ...
     public int age=0;
    ...

    Начальное значение задавать вовсе не обязательно - это видно по переменной name.

    Перед переменными мы пишем ключевое слово public. Значение у него такое же, как и в C++ - а именно это означает, что эта переменная (или функция) будет видна вне класса. Если мы не напишем перед переменной никакого модификатора доступа, или напишем private, то пременая не будет видна снаружи класса и ее смогут использовать только фунции этого же класса (т. е. она будет для "внутреннего использования").

    Далее в строчке

    ...
     Worker wrk1 = new Worker();
    ...

    мы заводим экземмпляр класса в куче (heap) и возвращаем на него ссылку.

    Затем в строчках

    ...
     wrk1.age=34;
     wrk1.name="Иванов";
     Console.WriteLine(wrk1.name+", "+wrk1.age);
    ...

    мы используем наш класс. А именно присваиваем некоторые значения для возраста и имени и выводим их потом на экран.

    С этим уроком все.