Создание метода Add ()
Мы напишем код, суммирующий два числа. Начнем с создания нового проекта в сре¬де Visual C#.
1. Откройте среду разработки Visual C# (если она уже открыта, закройте ее, выбрав пункт меню File^Close Solution (Файл^Закрыть решение), чтобы начать с исхо¬дного состояния).
2. Выберите пункт меню File1* New Project (Файл^Новый проект) или щелкните на пункте Create: Project.
3. Выберите Class Library (Библиотека классов), присвойте имя Calculator и щел¬кните на кнопке ОК.
4. Переименуйте файл Classl. cs в Calculator. cs.
—
5. Сохраните решение.
Теперь мы можем написать метод Add (). Добавьте в файл Calculator. cs код, выде¬ленный полужирным шрифтом.
using System;
using System.Collections .Generic-using System.Text;
namespace Calculator {
public class Calculator { }
public class Operations
{
public static int Add(int numberl, int number2)
{ return numberl + number2;
} } }
На рис. 2.6 рассматривается метод Add () по частям, так что вы сможете увидеть все его элементы. Параметры в коде используются для передачи исходных данных. Каждый из параметров представляет одно из слагаемых чисел.
В объявлении метода Add О возвращаемый параметр имеет идентификатор int1, обозначающий целочисленный тип данных. Для методов и параметров следует указать тип, поскольку С# является типизированным (type-safe) языком программирования. Это значит, что когда вы пишете код, вы точно знаете, какими данными манипулируете.
Предположим, что вы пишете код и сравниваете значения 1, 1.0 и "1.0". На пер¬вый взгляд, эти три числа идентичны. Но не в контексте исходного кода. 1 — это целое число, 1.0 — десятичное, а "1.0" — строка. Когда вы хотите суммировать, вычитать или иным способом манипулировать различными элементами данных, все они должны быть одинакового типа; в противном случае вы столкнетесь с ошибками целостности. Типизированный язык программирования помогает избежать таких проблем. Более подробная информация о числовых типах данных .NET приведена далее в этой главе.
Объявление метода Add () говорит, что ему необходимо передать два целых числа и возвратит он тоже целочисленное значение. Комбинация типов параметров и воз¬вращаемого значения — это сигнатура метода (method signature). Сигнатура метода очень важна, когда метод Add () будет вызывать другой фрагмент кода. Он должен бу¬дет использовать те же типы, что и в объявлении. На рис. 2.7 демонстрируется фраг¬мент кода, вызывающего метод Add (), мы создадим его для другого приложения в сле¬дующем разделе.
Вызывающая сторона должна сделать две вещи.
• Указать правильную комбинацию пространства имен, класса и идентификатора метода.
• Передать правильные типы для сигнатуры метода.
В примере сумма чисел 1 и 2 дает результат 3, а следовательно, переменная total должна содержать значение 3 (знак равенства присваивает возвращаемое методом зна¬чение переменной слева от на него). Я говорю "должна содержать значение" потому, что при написании кода ни в чем нельзя быть уверенным до конца. Иногда в написанный вами код могут вкрасться ошибки, вы можете что-то пропустить или забыть.
Рассмотрите вызывающий код и спросите себя, гарантируете ли вы, что вызов ме¬тода Add () с параметрами 1 и 2 вернет 3? Конечно, вызывающая сторона не может на 100% быть уверенной, что переменная total будет содержать значение 3. Только то, что на коробке написано "Еда", еще не гарантирует наличия в ней съестного. Вы думаете, что содержимое вам известно, но вы не убедитесь в этом, пока не откроете коробку. Аналогично в коде необходимо выяснить, как реализован метод Add (), чтобы убедиться в содержимом переменной total.
При профессиональном программировании просмотр кода реализации для выясне¬ния того, делает ли он то, что вы ожидаете, — это нереальное решение, поскольку оно за¬няло бы слишком много времени и не обеспечило бы полной надежности. Единственное реальное решение — написать проверочный код.