Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

События




Конструкторы с параметрами

В конструктор можно включить параметры. Приведем пример класса с двумя различными конструкторами:

class Person

{

// Поля

string firstName;

string lastName;

// Первый метод-конструктор

public Person()

{

firstName = "Johnny";

lastName = "Rocket";

}

// Второй метод-конструктор

public Person(string f, string l)

{

this.firstName = f;

this.lastName = l;

}

}

Таким образом, мы получили два разных способа конструирования объекта. Например, этот:

Person p = new Person();

В таком случае в поле p. lastName будет автоматически подставлено значение "Rocket". Или этот:

Person p = new Person("Petr", "Ivanov");

Тогда в поле p. lastName будет подставлено значение "Ivanov".

Слово this относится к объекту, который мы создаем, то есть фактически указывается: "подставлять в поле имени и фамилии этого объекта любые значения, передаваемые методу-конструктору".

Примечание редактора. В данном случае слово this можно добавить и в первый конструктор – для уточнения имени полей. Ничего не изменится, если во втором конструкторе имена полей будут указываться без this. Но иногда такое уточнение необходимо. Например, если во втором конструкторе имя параметра задавать не одной буквой f, а именем firstName, отражающим суть параметра, то без уточнения this в имени поля не обойтись, иначе компьютер запутается, не понимая, где имя поля, а где имя параметра метода.

В реальном мире события происходят непрерывно, причем некоторые от нас совсем не зависят. Например, восход и закат солнца (хотел бы я посмотреть, как вы пытаетесь заставить солнце вставать и садиться). Другие события мы вызываем сами: скажем, заставляем громкоговоритель издавать звуки.

Рассмотрим несколько событий, которые часто встречаются в мире компьютеров:

  • нажатие на кнопку, изображенную на экране монитора;
  • истечение времени таймера;
  • перемещение мыши;
  • нажатие клавиши на клавиатуре.

Очевидно, что, нажав на кнопку, мы хотим заставить компьютер выполнить определенное действие. (Если нет – зачем вообще ее трогать?) Но компьютер ждет не только подтверждения, что нажатие этой кнопки имеет для вас какое-то значение, но и указания на действие, которое нужно выполнить.

 

Рассмотрим подробнее этот пример, поскольку нажатие на кнопку, возможно, является наиболее распространенным событием, и детально разберем порядок работы. Допустим, в вашей программе есть объект — кнопка с именем mrButton, на которой написано "Нажми меня".

По ходу обсуждения попробуйте все делать сами. Для начала:

  • Запустите Visual C# Express.
  • Создайте новый проект приложения Windows: в меню File ("Файл") выберите Create project ("Создать проект") и затем тип проекта Windows Application ("Приложение Windows Forms").
  • В Visual C# Express откроется несколько файлов, где содержится "скелет" кода программы.
  • В окне обозревателя решений справа (в списке всех файлов) удалите файл с именем Form1.cs.
  • Дважды щелкните имя файла Program.cs и удалите весь автоматически вставленный "скелет" кода.
  • Чтобы создать программу с экземпляром кнопки, наберите следующий код в окне Program.cs так, как показано ниже (написание слов курсивом или жирным шрифтом можно не учитывать.

using System;

using System.Windows.Forms;

class MyButtonClass: Form

{

private Button mrButton;

// Метод-конструктор

public MyButtonClass()

{

mrButton = new Button();

mrButton.Text = "Нажми меня";

this.Controls.Add(mrButton);

}

// Основной метод

static void Main()

{

Application.Run(new MyButtonClass());

}

}

Выполните программу при помощи клавиши F5 (или щелкните по зеленой кнопке "Выполнить"). Если возникнут сообщения об ошибках, тщательно проверьте, нет ли опечаток в коде. Если программа будет выполнена успешно, вы увидите форму с кнопкой "Нажми меня". Пока при нажатии на кнопку никаких действий происходить не будет. Конечно, вы ожидали другого результата, но все еще впереди.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 338; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.