Subscribe to Feeds Subscribe to Tweeters
03 Июл

Урок 5. Классы C# — Программирование с нуля

Freesmska -> Уроки -> Урок 5. Классы C# — Программирование с нуля
Будь в курсе. Подпишись по e-mail:       

Хотите купить современный автомобиль в кредит? Получить льготный автокредит в россии можно на самых привлекательных условиях в сбербанке
Урок 5. Классы C#   Программирование с нуля

Привет. Пришло время познакомить Вас с волшебным миром классов на C#, так сказать основой основ, которая поможет вам не заблудиться в своих записях и писать программы наравне со всеми.)

Классы — участки кода объединяющие какую-либо логическую структуру.
Например: Класс машина, имеет в себе набор функций и процедур, позволяющих нам вкл/выкл радио, подсветку итд итп…

//класс Машина
    class Car
    {
        //Переменные, означающие подсветку и радио
        private bool light;
        private bool radio;
        //Конструктор класса (для чего нужен, расскажу позже)
        public Car()
        {
            light = false;
            radio = false;
        }
        //Процедура класса, позволяющая вкл/выкл подсветку
        public void LightOnOff()
        {
            if (light) light = false;
            else light = true;
        }

        public void RadioOnOff()
        {
            if (radio) radio = false;
            else radio = true;
        }
    }

Вот такой не большой пример.) А теперь подробней, что в нем и зачем. Вообще считаю пример приведенный в учебнике про машины, не очень правильным, так как не понятно а зачем нам вообще это нужно, но я взял его лишь для того, чтобы разобрать структуру построения. Далее приведу пример, который будет более жизнеспособным из какой-нибудь из моих программ.

И так для создания класса мы пишем слово class и его название.
Далее мы можем задать 1 и более конструкторов класса. Например

public Car() {}
public Car(bool l)
{
light = l;
}

В первом случае мы создаем пустой конструктор класса, во втором, конструктор со значениями.
Для чего требуются конструкторы класса и можно ли обойтись без них?!

Конструкторы класса позволяют нам инициализировать некоторые переменные во время создания класса. Но можно их и не создавать.
Например:

class OnOff
    {
        private bool onOff;

        public OnOff() { }
        public OnOff(bool v)
        {
            onOff = v;
        }

        public void OnOffProc(bool v)
        {
            onOff = v;
        }
    }

Класс переключатель. Урок 5. Классы C#   Программирование с нуля Может быть создан и инициализирован в начальное состояние 2-мя способами.

//1 способ:
OnOff o = new OnOff();
o.OnOffProc(false);
//2 способ:
OnOff o = new OnOff(false);

Согласитесь второй способ занимает меньше места и на вид воспринимается удобней.
Но кстати, как видно из примера с машиной, в конструкторе класса мы можем сразу задать значения, если они статические, не передавая их. А в последнем примере, удобно использовать конструктор с передающимися параметрами, если допустим изначально состояние, в котором должен находится элемент, не известно.

Класс, кроме конструктора, может содержать различные переменные, которые мы будем использовать, а так же функции и процедуры, с которыми вы познакомились в предыдущей статье.

Кстати по правилам хорошего тона) Переменные в классе должны быть все с модификатором private.
А их изменение должно происходить либо с помощью функций и процедур, либо способом приведенным мной ниже (создаем свойство):

class OnOff
    {
        private bool onOff;

        public bool GetSetOnOff
        {
            get { return onOff; }
            set { onOff = value; }
        }
     }

И используется этот код следующим образом:

OnOff o = new OnOff();
o.GetSetOnOff = true;
bool z = o.GetSetOnOff;

В первом случае мы устанавливаем значение переменной в true, а во втором получаем это значение в переменную z.
Чем удобен, такой способ:
Значение set в коде GetSetOnOff писать не обязательно, тогда мы получим эффект переменной только для чтения, ее значение нельзя модифицировать на прямую.
А как тогда можно модифицировать?! Допусти с помощью процедур или функций из класса в котором она находится.
Пока я думаю достаточно Урок 5. Классы C#   Программирование с нуля Остальные мелочи по мере написания, различных программ уже под кпк.

А вот теперь домашнее задание для 2х уроков сразу, как я долго ждал этого момента =).

Напишите класс смска, в котором у нас будет 4 переменные: номер отправки, текст, длина текста, язык сообщения. Язык сообщения изначально в любом случае идет английский. А вот номер и текст, мы можем задавать в любое время, как при создании класса, так и по мере работы с ним. Длина текста сообщения должна считаться автоматом, при добавление текста, и не должна иметь возможности модифицироваться, кроме как внутри класса, но доступ для просмотра ее значения мы должны иметь в любое время. Так же класс должен содержать функцию или процедуру отправки, которая печатает на консоль Номер: Текст: Длину сообщения: Язык, а так же любой текст, типо "оля ля ля месяга отправлена".

Вот такое простенькое домашнее задание, для желающих немного размяться.

Урок 5. Классы C#   Программирование с нуля  Урок 5 (21,2 KiB, 249 hits)

Постовой: Я тут узнал про вирус в контакте, бывают же нигодяи…

Возможно Вас заинтересует:


Будь в курсе. Подпишись по e-mail:      

У вас есть мнение? Оставьте свой отзыв:

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