Меню сайта
Категории раздела
HTML [44] |
Visual C++ и MFC [21] |
c++ [78] |
php [19] |
Javascript [15] |
C# [51] |
загрузки [0] |
XNA
[10]
создание игр с помощью xna
|
Наш опрос
Друзья сайта
Статистика
Онлайн всего: 2
Гостей: 2
Пользователей: 0
Реклама
Главная » Статьи » C# |
Урок 11
Этот урок будет основан на предыдущем. Откройте проект, созданный на прошлом уроке. Давайте добавим в наш класс Worker конструктор: ... class Worker { public int age=3; public string name; //Конструктор 1 public Worker(int age, string name) { this.age=age; this.name=name; } } ... Обратите внимание на ряд особенностей конструктора. Во-первых, конструктор называется как класс. Раз наш класс называется Worker, значит и конструктор должен называться точно также. И во-вторых, конструктор, в отличие от других методов класса, не возвращает никакого значения (даже типа void). Если вы знакомы с языком C++, то, несомненно, это вам все знакомо. Что делает наш конструктор? Он записывает передаваемые в него параметры во внутренние переменные класса. Обратите внимание, что называются они одинаково - age и age, name и name. Компилятор сначала ищет локальную переменную с таким именем, и, если не находит, то переменную класса. Поэтому age (и name) - это передаваемый в конструктор параметр. Если же нам надо сослаться на переменную класса (при существавании переменной с таким же именем, как и передаваемый в функцию параметр), то мы используем ключевое слово this. Оно всегда указывает на текущий экземпляр нашего класса. Таким образом в строчках ... this.age=age; this.name=name; ... мы передаем параметры конструктора в переменые класса. Теперь изменим тестовый класс test следующим образом: ... static void Main(string[] args) { //Вызываем конструктор Worker wrk1 = new Worker(40, "Вася"); Console.WriteLine(wrk1.name+", "+wrk1.age); } ... Теперь после объявления переменной мы вызываем конструктор с двумя параметрами, который запишет в переменные age и name экземпляра класса Worker значания 40 и "Вася". Строчкой ниже эти значения выводятся на экран. | |
Просмотров: 653 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |