louis vuitton bag moncler jacka ugg boots mbt sko louis vuitton oslo moncler ugg www.steklo1.ru
   Поиск
 

Изучаем C Sharp (C#)

Программирование на C Sharp (C#) с нуля

Cи Шарп это просто Simple C#
Логин Пароль Вход Регистрация
Главная
Изучаем C#
Web-приложения
Win-приложения
Web-сервисы
ADO.NET
FrameWork
Алгоритмы
Исходники
Классы
Среда разработки
Статьи
Форум
FAQ
О Проекте
Обратная связь
Отблагодарить
Rambler's Top100

Введение в классы

КЛАССЫ


Классы — сердце каждого объектно-ориентированного языка. Класс представляет собой инкапсуляцию данных и методов для их обработки. Это справедливо для любого объектно-ориентированного языка. Языки отличаются в этом плане лишь типами данных, хранимых в виде членов, а также возможностями классов. В том, что касается классов и многих функций языка, С# кое-что заимствует из C++ и Java и привносит новое помогающее найти элегантные решения

ОПРЕДЕЛЕНИЕ КЛАССОВ


Синтаксис определения классов на С# прост, особенно если вы программируете на C++ или Java. Поместив перед именем вашего класса ключевое слово class, вставьте члены класса, заключенные в фигурные скобки, например:



class MySimpleClass
{
  private long myClassID;
}




Этот простейший класс с именем MySimpleClass содержит единственный член — myClassID.

НАЗНАЧЕНИЕ КЛАССОВ


Так для чего нужны классы. Представьте себе, что у вас есть некоторый объект, который характеризуется рядом свойств.
Например, работник на некой фирме. У него есть такие свойства, как фамилия, возраст, стаж и т. п. Так вот, в этом случае удобно каждого работника описывать не рядом независимых переменных (строкового типа для фамилии, целого типа для возраста и стажа), а одной переменной типа Worker, внутри которой и содержатся переменные для фамилии, возраста и стажа. Здесь самое важное то, что в переменной типа Worker содержатся другие переменные. Конечно, типа Worker среди встроенных типов данных нет, но это не беда — мы можем ввести его.
Еще одна важная вещь: в классах помимо переменных разных типов содержатся функции (или, что то же самое, методы) для работы с этими переменными. Скажем, в нашем примере с классом Worker логично ввести специальные функции для записи возраста и стажа. Функции будут, в частности, проверять правильность вводимой информации. Например, ясно, что возраст у работника не может быть отрицательным или большим 150. Так вот, наша функция и будет проверять правильность введенного пользователем возраста.
Давайте рассмотрим первый пример класса. Создайте новое консольное приложение для С# и введите следующий текст:


using System;

namespace test
{
    //Начало класса
    class Worker
    {
        public int age = 0;
        public string name;
    }
    //Конец класса
    class Test
    {
        [STAThread]
        static void Main(string[] args)
        {
            Worker wrkl = new Worker();
            wrkl.age = 30;
            wrkl.name = "Петров Иван Сергеевич";
            Console.WriteLine(wrkl.name + " - " + wrkl.age + " года");
        }
    }
}



Запустите программу. Она, как и следовало ожидать, выведет на экран
"Петров Иван Сергеевич - 30".
Разберем этот код:


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



Определяем класс Worker. Внутри этого класса существуют две переменные — целая age для возраста и name строкового типа для имени.
Обратите внимание, что, в отличие от C/C++, мы можем задавать некоторое начальное значение непосредственно сразу после объявления переменной:
public int age=0;
Начальное значение задавать вовсе не обязательно — это видно по переменной name.
Перед переменными мы пишем ключевое слово public. Значение у него такое же, как и в C++ — это означает, что переменная (или функция) будет видна вне класса. Если мы не напишем перед переменной никакого модификатора доступа, или укажем private, то переменная не будет видна снаружи класса, и ее смогут использовать только функции этого же класса (т. е. она будет для «внутреннего использования»).
Далее в строчке
Worker wrkl = new Worker();
мы заводим экземпляр класса в куче (heap) и возвращаем на него ссылку.
Затем в строчках
wrkl.age = 30;
wrkl.name = "Петров Иван Сергеевич";
Console.WriteLine(wrkl.name + " - " + wrkl.age + " года");

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

Предыдущая стр.    Оглавление    Следующая стр.
Средняя оценка: (4,5 - 6 голосов)
Для оценки необходимо зарегистрироваться


Только зарегистрировавшиеся пользователи могут оставлять комментарии

Комментирует daneel1985 21.09.2010 14:42:21
В целом очень даже неплохая статья.

Комментирует GenaVeng 06.09.2011 7:44:38




Практический обучающий видео-курс "Основы C#"

От профессионального
разработчика для начинающих
и опытных программистов!

Кликните, чтобы изучить
язык C# с нуля и научиться
писать программы под платформу .NET!