- •Сборка (assembly) и ее структура в .Net технологии. Основные части и их назначение.
- •Последовательность создания и выполнения программ на платформе .Net.
- •Сборка (assembly) и ее структура в .Net технологии. Основные части и их назначение.
- •Последовательность создания и выполнения программ на платформе .Net.
- •Структура программы на языке c#.
- •Описания классов на языке c#.
- •Описание и использование методов класса. Перегрузка методов класса.
- •Базовый класс System.Object. Назначение, методы.
- •Операции языка c#. Перегрузка операций в создаваемых классах.
- •Основные классы - коллекции. Назначение и использование.
- •Описание наследования классов в c#.
- •Интерфейсы. Назначение, описание и использование.
- •Делегаты. Назначение, описание и использование.
- •События классов. Описание событий в классе и их использование в классах пользователях.
- •Класс Form для создания графического интерфейса.
- •Элементы управления. Назначение, основные свойства и методы.
- •Обработка событий от элементов управления формы. Сигнатура. Задание метода – обработчика события. Создание метода – обработчика события.
- •16. Событие перерисовки формы – Paint. Когда возникают, как обрабатывается.
- •Класс Graphics. Назначение и использование. Основные методы рисования.
- •Программирование пользовательских диалогов.
- •Назначение и основные классы технологии ado.Net.
Последовательность создания и выполнения программ на платформе .Net.
Структура программы на языке c#.
Определение программы (Дейкстра)
Программа = Алгоритм + Данные.
ООП определение программы:
Программа это набор типов (классов, интерфейсов и т.д.)
Тип = Данные + Методы
Метод = Алгоритм + Данные.
Структура программы (сборки) на языке С#
Описания классов на языке c#.
Классы это
Основные составные части программы на языке C#
Задают новые типы данных
Класс и тип – почти синонимы в С#
Везде, где могут использоваться встроенные типы, могут использоваться и классы – пользовательские типы.
Составные элементы класса
Поля (field) – обычно скрытые данные класса (внутренне состояние)
Свойства (property) – доступ к данным класса с помощью функций
get – получить
set – задать
Методы (methods) – операции над данными класса (поведение) (можно называть функциями)
События (event) – оповещение пользователей класса о том, что произошло что-то важное.
Доступ к элементам класса
public вызов или доступ откуда угодно
protected только из производных классов (соответствует модификатору “family” в CLI)
private доступ только внутри текущего класса
sealed класс, от которого не допускается определение потомков (сравните: в Java ~ final)
internal доступ только из текущей сборки (CLI: “assembly”; Java: аналогов нет)
protected internal доступ только из подклассов, определенных в текущей сборке (CLI: “family and assembly”)
Описание классов программы
using XXX; // чужие пространства имен
namespace MMM // наше пространство имен
{
class AAA // наш класс MMM.AAA
{
…
}
class BBB // другой наш класс MMM.BBB
{
…
}
}
Описание и использование методов класса. Перегрузка методов класса.
Описываются только в классах
Имеют доступ
к закрытым и открытым переменным класса (полям)
Локальным переменным
По умолчанию параметры передаются по значению.
Значением переменной ссылочного типа является ее адрес.
Можно задать передачу параметров по ссылке
ref – параметр должен иметь начальное значение
out – параметр может не иметь начального значения
Синтаксис объявления формального параметра
[ref | out] <тип> имя
Перегрузка методов
Перегруженные (overloaded) методы – это методы с одинаковым именем, но с разной сигнатурой.
Сигнатура это возвращаемый тип результата и типы передаваемых параметров.
Например:
int <имя метода> (int, float, double)
Перегрузка методов выполняется для следующих целей:
чтобы метод принимал разное количество параметров.
чтобы метод принимал параметры разного типа, между которыми нет неявного преобразования.
В C# не требуется уникальности имени метода в классе. Существование в классе методов с одним и тем же именем называется перегрузкой, а сами методы называются перегруженными.
Уникальной характеристикой перегруженных методов является их сигнатура.
Перегруженные методы, имея одинаковое имя, должны отличаться
либо числом параметров,
либо их типами,
либо модификаторами (заметьте: с точки зрения сигнатуры, ключевые слова ref или out не отличаются).
Уникальность сигнатуры позволяет вызвать требуемый перегруженный метод.
