Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shporka EK.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.38 Mб
Скачать
  1. Правила приведення типів в c#.

Приведення типу (type conversion) - перетворення значення змінної одного типу в значення іншого типу. Виділяють явне і неявне приведення типів.

1. При явному приведенні вказується тип змінної, до якого необхідно перетворити вихідну змінну.

2. При неявному приведенні перетворення відбувається автоматично, за правилами, закладеним у цьому мові програмування.

3.Також в мові можуть бути задані спеціальні функції для приведення.

Наприклад розглянемо приведення до типу object. Він являє собою процедуру підтримки типів в класі "system оbject" в ієрархії класів "net" та надає низькорівневу службу для наслідуваних класів. Він представлений вихідним базовим класом для всіх класів платформи.

  1. Модифікатори доступу.

public (даний елемент класу доступний всім зовнішнім споживачам)

internal (елемент доступний тільки для класів, визначених в тій же збірці, що і даний клас)

private (елемент недоступний за межами опису класу, тобто недоступний навіть нащадкам даного класу; цей модифікатор ставиться за умовчанням)

protected (до такого елементу класу можуть звертатися тільки класи, успадковані від даного)

protected internal (доступ із класу з його описом та підкласів, а також збірки з описом об'єкту)

Модифікатори private та public

Доступ до членів класу

доступ до членів класу всередині класу

доступ до членів класу ззовні

class DaysTemp

{

public int High,Low;

public int Avg()

{

return (High + Low) / 2;

}

}

Class Class1

{

static void Main()

{

DaysTemp T1 = new DaysTemp();

// Create 2 instances of DaysTemp,

DaysTemp T2 = new DaysTemp();

//Write to the fields of each instance.

Tl.High = 76; T1.Low= 57;

T2.High = 75; T2.Low= 53;

Console.WrlteLine("Ti: {o} {l} {2}", T1.High, T1.Low, T1.Avg ());

Console.WriteLlne("T2: {o}, {1}, {2}", T2.High, T2.Low, T2.Avg ());

Field Field Method

  1. Методи. Параметри. Перевантаження методів.

Метод представляє собою іменований блок прогр.коду виконання якого може бути викликане із довільного місця програми. Після закінчення його роботи програма продовжує своє виконання з наступного оператору, який слідує після оператора, що викликав метод.Локальні змінні, що приймають участь у формувані функціоналів методу мають певні відмінності від полів об’єктів. Вони хар-ся тривалістю життя, можливістю неявної ініціалізації.

Тривалість життя

Поля: Починається, коли створюється екземпляр класу.Закінчується після останнього звертання до об'єкту.

Локальні змінні: Починається в точці, де була декларована.Закінчується, коли блок, де була задекларована змінна, закінчує виконання.

Неявна ініціалізація

Поля: Присутня значенням за замовчуванням для даного типу

Локальні змінні: Відсутня. Значення залишається невизначеним до першого присвоювання.

Місце зберігання

Поля: Завжди зберігаються у купі

Локальні змінні: Типи за значенням зберігаються у стеку, за посиланням - у купі.

Метод в своєму тілі може мати блоки, які обмежуються фігурними скобками кількість блоків-необмежена.

Локальні змінні можуть бути задекларовані всередині блоків і трив. Їхнього життя буде обмеження цими блоками.

Локальні змінні всередині вкладених блоків

Управління ходом виконання

Умови: if, if...else, switch

Цикли: for, while,do,foreach

Команди переходу: break,continue, go to,return

Для описування процесу передачі методів параметрів викор. поняття формальних і фактичних параметрів. Формальні предст. собою локальні змінні, що були задеклар.в списку вхідних параметрів методу при його декларації.

Вираження або змінні, які використовуються при ініціалізації змінних назив. фактичними параметрами.

Фактичні поміщуються в список параметрів методів при його виклику.

В залежності від організації взаємодії форм. та факт. параметрів для передачі даних в метод та отрим. якихось результатів роботи методу існує декілька видів параметрів.

Якщо величина факт. параметру копіюється в форм. параметр такі параметри назив. параметрами за значенням.

Коли викликається метод система робить наст. кроки:виділяє в стеку місце для формальних параметрів; копіює значення факт. параметрів в двох формальні параметри.

Параметри за посиланням

При виконанні необхідно декларування методу та для його виклику викор. модифікатор ref.

1.фактичні пар. повинні бути змінною

2.змінна перед використанням повинна бути ініціалізована.

При використанні пар. за знач. для форм.пар. відбув. виділення памяті в стеку. Пар. за посиланням мають наступні характеристики:

  1. Вони не виділяють нові комірки памяті в стеку під форм. пар.

  2. Назва пар. за посиланням виступає в ролі псевдоніму для змінних що викор. в ролі факт. пар., посилаючись на ті самі комірки памяті, а оскільки мета пар. за посил. та імена факт. пар. посилаються на однакові комірки памяті зміни значень форм. пар. І час виконання методу будуть збережені після того як метод закінчиться. Доступ до них можна отримати через змінні що використовуються в якості факт. пар.

Параметри, що повертають значення або вихідні параметри використовуються для передачі даних з методу назад в прогр.код, який його викликає. Ці параметри схожі на пар. за посил.. Подібне ним використання вихідних параметрів має наст.вимоги:

  1. Необхідно використ. модифікатор як при декларуванні меоду так і при його виклику . Модифікатором є ідентифікатор out.

  2. факт. пар. повинен бути змінною . Вираз не допускається.

Формальні і фактичні параметри являють собою імена однакових комірок памяті.

Будь які зміни у значенні форм. пар. у методі будуть доступні через зміни значень факт. пар. після закінчення роботи метода.

Вихідні параметри на відміну від параметрів за посиланням вимагають наст:

  1. перед викликом методу не потрібно ініціалізувати змінні, що будуть викор. в якості вихідних пар.

  2. Кожен вих..пар. повинен бути ініц. до кінця роботи методу.

В усіх типах пар. повинно бути однакова кількість форм. і факт. пар. Якщо викор. параметри-масиви, то для одного форм. пар. можна викор. від нуля до декількох факт. пар. В С# в списку пар. методу може бути тільки 1 пар.-масив. Крім того пар.-масив повинен бути задекларований останнім в списку пар. Для того щоб задеклар. пар-масив потрібно вик. наст. дії:

  1. Перед типом даних вказати модифікатор params.

  2. Після типу даних поставити порожні квадр. дужки.

Параметри масиви

Array of ints

void Listlnts( params Int[] InputLlst )

{ ...

Modifier Parameter name

Варіанти виклику:

Listlnts( 1o, 20, 30 );

Int[] IntArray = (1, 2, 3,);

Llstlnts( IntArray );

Порожня множина вказує на те що пар. буде:

1.впорядкованою множиною елементів даних типу int.

2.доступ до його елементів буде здійсн. за доп. числового індексу.

3.пар. буде посилального типу а отже зберігає свої елементи в хупі.

Перевантаження методів

Клас може мати більш ніж один метод з однаковим іменем, проте кожен з цих методів повинен відрізнятися сигнатурою. Така ситуація називається “перевантаження методів”.

Сигнатура методу складається з наступних оголошень:

  1. Назва методу

  2. Кількість параметрів

  3. Типи даних та порядок розташування параметрів

  4. Модифікатори параметрів.

Вірно:

class А

{

long AddValues{ int a, int b)

long AddValues{ int a, intb, int c)

long AddValues{ float a, float b)

long AddValues{ long a, long b)

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]