
- •1. Эволюция языков программирования. Что такое net?
- •Internet и появление языка Java.
- •2.Компоненты платформы net.
- •3.Модель выполнения приложения в среде .Net Framework. Промежуточный язык Microsoft (Microsoft Intermediate Language, msil). Сборки.
- •4. Обзор встроенных типов данных c#. Применение встроенной функциональности типов данных.
- •5.Операции ввода/вывода. Формат вывода. Пространство имён System. Класс System.Math.
- •6.Операции, операторы и выражения в c# .
- •Операторы
- •7. Массивы в c# (одномерные и двумерные). Класс System.Random, применение его методов для создания массива случайных чисел. Класс System.Array, использование его методов и свойства Length.
- •8. Структуры в c#, создание структуры.
- •9. Понятие объектно-ориентированного программирования.
- •10. Классы в c#. Члены класса: методы, поля, свойства и события. Форма определения класса.
- •11. Типы значений и ссылочные типы. Динамическое использование памяти: стеки и кучи. Упаковка и распаковка.
- •12. Конструкторы и деструкторы. Сборка «мусора».
- •13. Определение пользовательских методов класса. Модификаторы доступа к методам класса. Параметры методов класса, передача аргументов. Модификаторы ref, out, params параметров методов.
- •14. Возвращение методами объектов класса. Возвращение методами массивов.
- •15. Общие (статические) члены класса. Доступ к общим членам. Ограничения на static-методы.
- •Ограничения на static-методы.
- •16.Область видимости и время существования переменных. Преобразование и приведение типов.
- •17.Обработка исключительных ситуаций.
- •18.Перегрузка методов. Перегрузка конструкторов.
- •19.Перегрузка операторов. Перегрузка бинарных, унарных и операторов отношений.
- •20. Инкапсуляция и свойства. Формат записи свойств.
- •21.Индексаторы. Специальные приемы построения типов. Создание одномерного индексатора.
- •22.Создание двумерного индексатора.
- •23.Механизмы реализации инкапсуляции в c#.
- •24.Базовые классы и наследование. Доступы к членам классов.
- •25.Конструкторы и наследование.
- •26.Ссылки на базовый класс и объекты производных классов.
- •27.Виртуальные методы и их переопределение.
- •28.Использование абстрактных классов.
- •29.Механизмы реализации полиморфизма в c#.
- •30.Интерфейсы. Реализация интерфейсов. Стандартные интерфейсы среды .Net Framework.
- •31.Коллекции. Классы коллекций общего назначения.
- •32.Делегаты. Назначение делегатов. Многоадресатная передача.
- •33.События. Объявление и генерация событий. Реализация обработчиков событий
- •34.Обзор технологий программирования Windows-приложений.
- •35.Архитектура Windows Forms. Класс Form.
- •36.Элементы управления формы
13. Определение пользовательских методов класса. Модификаторы доступа к методам класса. Параметры методов класса, передача аргументов. Модификаторы ref, out, params параметров методов.
Модификаторы параметров методов класса . this – специальная переменная, которая доступна во всех методах класса, //в том числе и в конструкторах. This всегда ссылается на текущий экземпляр. Методы Get_x и Get_y служат для обращения к закрытым переменным класса. В C# для доступа к закрытым переменным используются свойства. Они сочетают в себе методы get и set. Как происходит передача аргументов методу класса ? Изменения, внес. в параметры метода, не влияют на аргументы, используемые при вызове, сканировались. Первый способ передачи аргумента - вызов по значению. При передаче методу значения не ссылочного типа происх. вызов по значению. Для получения доступа к реальному аргументу, заданному при вызове, исп. ссылка на аргумент. Второй способ передачи аргумента наз. вызовом по ссылке (. Изменения, внес. в параметр, воздействуют на аргумент, исп-мый при вызове метода. Объекты передаются методу путем вызова по ссылке. Если не ссылочный параметр передается методу по значению, то, изменяя параметр, мы не влияем на реальный аргумент. Модификаторы ref, out и params для пар-ров методов. Мод-тор ref пишут и перед параметром в методе, и перед аргументом в вызове метода. Аргументу, передаваемому методу со словом ref, должно быть присвоено значение до вызова метода. Ведь параметр должен ссылаться на действит. значение. Ref обычно прим. для того, чтобы метод внес изменения в сущ-щие. Параметры out работают точно так же, как и параметры ref, но в них разрешается передавать не инициализируемые переменные. Но чаще всего, модификатор out исп-ся не для передачи значения методу, а для его получения из метода. Не нужно тогда переменной (аргументу со словом out) присваивать начальное значение до вызова метода. Примечание: Метод обязательно должен присвоить out-параметру значение. Модификаторы ref и out можно применять и к ссылочным параметрам, т.е параметрам-объектам. В этом случае реал-ся передача ссылки по ссылке. Это позволяет методу изменять объект, на кот. указывает ссылка-параметр. Использование переменного количества аргументов и модификатор params. Иногда нужен метод, который принимал бы произвольное число аргументов. Например, метод, который находит максимальное значение в наборе чисел. Методу может быть передано 2, 3, 4 и т.д значения. Такому методу нужен специальный параметр, который заменяет собой произвольное количество параметров. Это реализуется с помощью модификатора params. Модификатор params используется для объявления параметра массива, который сможет получить некоторое количество аргументов (в том числе и нулевое). В любом методе может быть только один модификатор params. Параметр с модификатором params может быть только последним параметром в списке параметров метода.
14. Возвращение методами объектов класса. Возвращение методами массивов.
Возвращение методами объектов. Метод может возвращать данные любого типа, в том числе классового. Для этого внутри метода нужно создать объект, а в return – вернуть его. В простых методах объект создавать можно в return.
Public Point uvelich_tochka(int koef) { return new Point (x*koef, y*koef); } в Main() Point T5=T1.uvelich_tochka(3); T5.show();
Возвращение методами массивов. Так как в C# массивы реализованы как объекты класса System.Array, э.зн. метод может возвратить массив.
В класс NaturChicla добавим метод, который возвращает массив, содержащий делители числа (от 2 до середины), а также их количество.
public int [ ] Deliteli (int x, out int kol)
{int [ ] Mas = new int [100];
// находим делители и помещаем их в массив Mas
int d, j = 0;
// j – индекс для множества, d – кандидат в делители
for (d=2; d<=x/2; d++);
if (Ostatok(x, d) = = 0)
{Mas [j] =d;
j++; }}
kol = j;
return Mas; } }
class Test_ NaturChicla
{
public static Main()
{
NaturChicla ob = new NaturChicla();
int count;
int [ ] Mas;]
Mas = ob.Deliteli(48, out count);
Console. WriteLine(“Делители числа 48: “);
for (int i=0; i<count: i++);
Console. WriteLine(“Mas[i] + “ “);
Console. WriteLine();
}
}