Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 88

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 82 83 84 85 86 87 < 88 > 89 90 91 92 93 94 .. 404 >> Следующая


Используя события, мы можем создавать управляемые ими приложения, которые оказываются намного более продуктивными, чем вы можете сейчас представить. В качестве примера можно упомянуть, что большинство приложений Windows целиком построено на событиях, Любое нажатие кнопки или перемещение движка полосы прокрутки достигается путем обработки событий, наступление которых вызывается мышью или с клавиатуры.

В конце главы вы узнаете, каким образом события работают в приложениях Windows, а более детальное рассмотрение событий вас ждет в главе 12.
Введение а объектно-ориентироватюе программирование

175

Сравнение ссылочных и значимых типов

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

? Значимые типы хранятся сами и хранят свое содержимое в одном месте памяти (называемом стеком).

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

На самом деле при использовании C# это не должно нас особенно беспокоить. До настоящего момента мы использовали переменные типа string (которые относятся к ссылочному типу) н другие простые переменные (большинство из которых относится к значимому типу, например, int) практически одинаково.

Среди простых ТИПОВ ССЙЛОЧНЫМИ ЯВЛЯЮТСЯ ТОЛЬКО string и object, хотя массивы также неявно представляют собой ссылочный тип. Каждый создаваемый нами класс будет относиться к ссылочному типу — именно поэтому мы и остановились на этом моменте.

Структуры

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

Тот факт, что структурные типы и классы похожи друг на друга, возможно, стал вам ясен давно, особенно после того, как в главе 6 было сказано, что в структурных типах могут использоваться функцин. Этот вопрос более подробно будет рассматриваться в следующей главе.

ООП в приложениях Windows

Возвращаясь к главе 2, мы можем вспомнить, каким образом в C# создаются простые приложения Windows. Они очень широко используют методы ООП, и в данном разделе мы рассмотрим эту тему, чтобы проиллюстрировать некоторые из наших утверждений. Для этого воспользуемся простым примером.

Практикум: объекты в действии

1. Создайте новое приложение Windows в директории C:NBegCSharpNChapter8 с именем Ch08Ex0i.

2. Добавьте в приложение новое средство управления Button с помощью панели Toolbox и разместите его

в центре Forml, как показано на рисунке слева.

3. Дважды щелкните по кнопке мышью для того, чтобы добавить код, предназначенный для обработки нажатия кнопки мыши. Внесите изменения в появившийся код, как показано ниже:
176

Глава 8

III <sun*nary>

III The main entry point for the application. Ill </summary>

[STAThread] static void MainO {

ApplicatiOn,Run(new Forml());

}

private void buttonl_Click(object sender. System.EventArgs e) {

{(Button)sender).Text _ 'Clicked!']

' Button newButton = new Button (); newButton.Text = 'New Buttont ¦ s

sawButton.Click += new EventHandler(newButton_Click); Controls.Add (newButton)i ¦

)

private void newButton_Cliclc{object sender. System.EventArgs e) {

' ((Button)sender) .^ext “ 'Clicked1!';

)

4, Запустите приложение (см. рис. справа).

5. Щелкните мышью по кнопке с надписью buttonl (см, рис, слева).

6. Щелкните мышью по кнопке с надписью New Button!

(см. рис. справа).

Как это работает

Написав всего несколько строк кода, мы создали Windows-приложение, которое выполняет некоторые действия, одновременно иллюстрируя использование определенных методов ООП в С#. Фраза “объектом может быть все, что угодно" становится еще более справедливой, когда дело касается Windows-при-ложеиий. Начиная от формы, в которой это выполняется, и заканчивая средствами управления в этой форме, нам постоянно приходится пользоваться методами ООП, В процессе описания этого примера автор выделил некоторые понятия; это сделано для того, чтобы уяснить их соотношение друг с другом.
Введение в объектно-ориентированное программирование

177

Первое, что мы сделали в нашем приложении,— добавили в форму Forml новую кнопку. Она представляет собой объект, называемый Button. Далее, щелкнув два раза мышью, мы добавили обработчик событий, который ожидает наступления события Click (иажатне), генерируемого объектом Button. Этот обработчик событий добавляется в код объекта Form, где инкапсулировано приложение, в качестве частного метода:

private void buttonl_Click(object sender. System.EventArgs e)

(

>

В качестве описателя используется ключевое слово private. Пока этих знаний вам должно быть достаточно; коды на С#, которые требуются для реализации методов ООП из настоящей главы, будут рассматриваться в главе 9.

Первая строка кода из числа добавленных нами изменяет текст на нажимаемой кнопке. В этом случае используется полиморфизм, с которым мы уже сталкивались. Объект Button, представляющий нажатую нами кнопку, передается обработчику событий как параметр типа object, тип которого мы изменяем на тип Button (это оказывается возможным, поскольку объект Button наследуется от класса .NET System.object, для которого object является синонимом). Далее мы изменяем свойство объеета Text, чтобы изменить выводящийся текст:
Предыдущая << 1 .. 82 83 84 85 86 87 < 88 > 89 90 91 92 93 94 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.