ТЕМА 24: МЕТОДИ

•Какво е „функция“? Какво е „метод“?

–Функция е подпрограма, която извършва конкретна дейност и може да бъде извиквана от друга част от програмата
–Функциите могат да приемат един или повече параметри
–Функциите могат да връщат единична стойност като резултат
–Аргумент е стойността подавана на даден параметър
–Метод е функция дефинирана в рамките на клас или структура
–Процедури наричаме функции, които не връщат резултат
–В езика C# методът е единственият начин за дефиниране на функции

Изпълнението на метод

•Изпълнението на метод започва при неговото извикване
•Изпълнението на метод приключва:
–при достигане на края му
–при достигане на ключовата дума „return”
–при възникване на грешка
•След изпълнение на метод, изпълнението продължава от мястото, на което е бил извикан
 

Локални променливи

•Локални променливи за един метод са тези декларирани в неговото тяло
•В тялото на един метод не могат да бъдат декларирани повече от една променливи с едно и също наименование
•Локалните променливи не могат да бъдат достъпвани извън метода
•Параметрите имат статут на локални променливи
 

Метод, който  не връща резултат

•Когато методът не връща резултат, изпълнението приключва:
–при достигане на края му
–при достигане на ключовата дума “return”
–при възникване на грешка
void DoSomethingNerd(WeatherInfo info)
{
   // ако времето не е хубаво…
   if (!IsWeatherFine(info))
      return;
   // да порешаваме задачи!
   SolveSomeMathsProblems();
}

Метод, който връща резултат

•Когато методът връща резултат, изпълнението приключва:
–при използване на ключовата дума „return” следвана от израз
–при възникване на грешка
•След ключовата дума „return” задължително трябва да има израз, който връща стойност от същия тип, като резултата от метода
int Sum(int a, int b)
{
   int c = a + b;
   // връщане
   return c;
}
 
// взима дискриминантата на кв. уравнение
double GetDiscriminant(
 double a, double b, double c)
{
   return b * b – 4 * a * c;
}
•Извиквания към методи връщащи стойност могат да бъдат използвани в изрази
–В изрази извикването на метода се заменя със стойността на върнатия от него резултат
// имаме триъгълник със страни…
double a = 5, b = 3, c = 2;
double p = GetSemiperimeter(a, b, c);
s = Math.Sqrt(p*(p-a)*(p-b)*(p-c));

Търсене