Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Параметры методов




При вызове метода выполняются следующие действия:

  1. Вычисляются выражения, стоящие на месте аргументов.
  2. Выделяется память под параметры метода в соответствии с их типом.
  3. Каждому из параметров сопоставляется соответствующий аргумент (аргументы как бы накладываются на параметры и замещают их).
  4. Выполняется тело метода.
  5. Если метод возвращает значение, оно передается в точку вызова; если метод имеет тип void, управление передается на оператор, следующий после вызова.

При этом проверяется соответствие типов аргументов и параметров и при необходимости выполняется их преобразование. При несоответствии типов выдается диагностическое сообщение. Листинг 5.3 иллюстрирует этот процесс.

В листинге 5.2 в класс Demo добавлены методы установки и получения значения поля y.

using System;

namespace ConsoleApplication1

{

class Demo

{

public int a = 1;

public const double c = 1.66;

static string s = "Demo";

double y;

 

public double Gety() // метод получения поля y

{

return y;

}

 

public void Sety(double y_) // метод установки поля y

{

y = y_;

}

 

public static string Gets() // метод получения поля s

{

return s;

}

}

 

class Class1

{ static void Main()

{

Demo x = new Demo();

x.Sety(0.12); // вызов метода установки поля y

Console.WriteLine(x.Gety()); // вызов метода получения поля y

Console.WriteLine(Demo.Gets()); // вызов метода получения поля s

}

}

}

Листинг 5.2. Простейшие методы (html, txt)

23 using System;namespace ConsoleApplication1{ class Class1 { static int Max(int a, int b) // метод выбора максимального значения { if (a > b) return a; else return b; } static void Main() { int a = 2, b = 4; int x = Max(a, b); // вызов метода Max Console.WriteLine(x); // результат: 4 short t1 = 3, t2 = 4; int y = Max(t1, t2); // вызов метода Max Console.WriteLine(y); // результат: 4 int z = Max(a + t1, t1 / 2 * b); // вызов метода Max Console.WriteLine(z); // результат: 5 } }}

Листинг 5.3. Передача параметров методу (html, txt)




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


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


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



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




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