Метод (програмиране): Разлика между версии

от Уикипедия, свободната енциклопедия
Изтрито е съдържание Добавено е съдържание
Rstfgh (беседа | приноси)
Rstfgh (беседа | приноси)
Ред 54: Ред 54:
</source>
</source>


Медотодите могат да бъдат декларирани с и без параметър. Горният пример е на метод деклариран с два параметъра, т.е. internal static double GetMaxCalculation'''(double firstNumber, double secondNumber)'''. Пример на метод без параметри е:
Методите могат да бъдат декларирани с и без параметър. Горният пример е на метод деклариран с два параметъра, т.е. internal static double GetMaxCalculation'''(double firstNumber, double secondNumber)'''. Пример на метод без параметри е:
<source lang="csharp">
<source lang="csharp">

Версия от 13:41, 8 август 2013

Метод (Шаблон:Lang-en) в програмирането е съставната част от дадена програма, която решава даден проблем. Може както да приема параметри така и да връща стойност. Целта на писането на дадена програма е решаването на дадена задача. За да бъде ефективно решена дадена задача в програмирането, задачата се разделя на подзадачи, разработват се решения на тези подзадачи и накрая се сглобяват в една програма. Решенията на подзадачите се наричат подпрограми (subroutines). В различните езици подпрограмите се срещат под други имена като функции (functions) или процедури (procedures). В C#, те се наричат методи (methods).

Най-простият пример за метод е "Main(…)", който винаги го декларираме между отварящата и затварящата скоба на нашия клас:

class HelloCSharp
{ // Отваряща скоба на класа
// Декларираме нашият метод между скобите на класа
    static void Main(string[] args)
    {
        Console.WriteLine("Hello C#!");
    }
} // Затваряща скоба на класа

Къде е позволено да декларираме метод

Всеки клас (class) има отваряща и затваряща фигурни скоби – "{" и "}", между който се пише програмният код. Даден метод може да съществува само ако е деклариран между отварящата "{" и затварящата "}" скоба на даден клас. Също така допълнително изискване, е методът да бъде деклариран извън имплементацията на друг метод. Ето и още един но по-сложен пример как се ползват методите и къде се декларират. Тази програма при въвеждане на две числа изкарва по-голямото, а кода за намиране на по-голямото число е изкаран в отделен метод (GetMaxCalculation):

using System;

internal class GetMax
{ // Отваряща скоба на класа

// Декларираме метода GetMaxCalculation и поставяме в него кода за намиране на по-голямото от две числа

    internal static double GetMaxCalculation(double firstNumber, double secondNumber)
    {
        double theMaxNumber = firstNumber;
        if (firstNumber < secondNumber)
        {
            theMaxNumber = secondNumber;
        }
        return theMaxNumber;
    }
// Декларираме метода Main()

    static void Main()
    {
        Console.Write("Enter number One: ");
        double numberOne = double.Parse(Console.ReadLine());
        Console.Write("Enter number Two: ");
        double numberTwo = double.Parse(Console.ReadLine());

        Console.WriteLine();

// Извикваме метода GetMaxCalculation и принтираме

        Console.WriteLine("The Biggest Number is: {0}", GetMaxCalculation(numberOne, numberTwo));
        Console.WriteLine();
    }
} // Затваряща скоба на класа

Методите могат да бъдат декларирани с и без параметър. Горният пример е на метод деклариран с два параметъра, т.е. internal static double GetMaxCalculation(double firstNumber, double secondNumber). Пример на метод без параметри е:

static int countNumber = 10;
internal static void PrintFirstOddNumbers()
{
    for (int number = 0; number < countNumber; number++)
    {
        if (number / 2 == 0)
        {
            Console.WriteLine(number);
        }
    }
}

Извикване на метод от друг клас

За да извикаме метод дефиниран в един клас от друг, то тогава той трябва да е или internal (достъпван само в съответното assembly) или public. Достъпът до метода става чрез името на класа. Private методи са видими само в съответният клас и не могат да бъдат достъпвани от друг.

using System;

class SimpleCalculations
{
    double maxValue = GetMax.GetMaxCalculation(1.02, 3);
}