7. Методы

Мы уже умеем объявлять классы и объекты, описывать свойства, но этого не достаточно, для того, чтобы программа начала работать. Естественно, что нам необходимо, чтобы созданные нами объекты выполняли какие-то действия, выводили слова на экран или решали задачи. Для этого нам нужно рассказать компьютеру о том, что и в какой последовательности он должен сделать, мы должны описать метод.

Как мы можем объяснить компьютеру при помощи языка C#, порядок действий? Для этого, конечно, существует определенный код. Объявление кода метода выглядит так:

void SayHello () { }

Этот фрагмент кода похож на объявление класса. Да, это так. Мы объявляем метод и внутри фигурных скобок даем пояснение к выполнению этого метода.

using System; using System.Collections.Generic; using System.Text; namespace sample1 { class Program { static void Main(string[] args) { Console.WriteLine("Ура!"); SayHello(); Console.ReadLine(); Console.ReadKey(); } static void SayHello() { Console.WriteLine("Привет!"); } } }

Попробуем вызвать этот метод, на экране появится слово «Привет!». Это самый простой метод, поэтому и код тоже очень простой. Рассмотрим подробнее, что же мы сказали компьютеру этим кодом. Слово Void – это пустота, в фигурных скобках мы указали действие: на консоли написать в линию слово «привет». Компьютер понимает это следующим образом: после пустоты нужно написать слово «привет» и после этого вернуться к пустоте. Но в этом коде мы не указали самого главного, мы не сказали компьютеру, когда нужно вывести это слово на монитор, для этого нужно поставить «SayHello ();», обратите внимание на то, что в конце этой фразы стоит точка с запятой, а во фразе объявления метода этого знака нет.

Рассмотрим действие метода еще на одном примере. Мы хотим вывести на экран следующее: Привет Иван Привет Андрей Привет Алеша Мы можем это сделать, создав следующий код: 
using System; using System.Collections.Generic; using System.Text; namespace sample1 { class Program { static void Main(string[] args) { Console.WriteLine(“Ура!”); SayHello(); WriteHelloIvan(); WriteHelloAndru(); WriteHelloAlex(); Console.ReadKey(); } static void SayHello () { Console.WriteLine (“Привет!”); } static void WriteHelloIvan() { Console.WriteLine(“Привет Иван”); } static void WriteHelloAndru() { Console.WriteLine(“Привет Андрей”); } static void WriteHelloAlex() { Console.WriteLine(“Привет Алеша”); } } }

Вы уже обратили внимание, что эти три метода очень похожи. Мы можем сократить объем этого кода, просто написав один метод «WriteHello», дополнив его необходимыми параметрами, и при каждом вызове этого метода, передавать разные значения.

static void WriteHello(string some_name) { Console.WriteLine("Привет " + some_name); } И вызвать метод следующим образом: using System; using System.Collections.Generic; using System.Text; namespace sample1 { class Program { static void Main(string[] args) { Console.WriteLine("Ура!"); SayHello(); WriteHello("Ivan"); WriteHello("Andru"); WriteHello("Alex"); Console.ReadKey(); } static void SayHello () { Console.WriteLine ("Привет!"); } static void WriteHello(string some_name) { Console.WriteLine("Привет " + some_name); } } }

Обратите внимание, на сколько, мы сэкономили пространство кода, и время на его написание. Компьютер же понимает следующее: каждый раз при вызове этого метода я буду подставлять строку символов с каким-либо именем. Любая подставляемая строка должна выводиться после слова «Привет».

Видео YouTube


Comments