Студопедия

КАТЕГОРИИ:


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

Объявление методов

Методы

Следует отметить, что официальная терминология С# делает различие между функциями и методами. Согласно этой терминологии, понятие "функция-член" включает не только методы, но также другие члены, не являющиеся данными, класса или структуры. Сюда входят индексаторы, операции, конструкторы, деструкторы, а также — возможно, несколько неожиданно — свойства. Они контрастируют с данными-членами: полями, константами и событиями.

В С# определение метода состоит из любых модификаторов (таких как спецификация доступности), типа возвращаемого значения, за которым следует имя метода, затем списка аргументов в круглых скобках и далее — тела метода в фигурных скобках:

[модификаторы] тип_возврата ИмяМетода([параметры]){// Тело метода}

Каждый параметр состоит из имени типа параметра и имени, по которому к нему можно обратиться в теле метода. Вдобавок, если метод возвращает значение, то для указания точки выхода должен использоваться оператор возврата вместе с возвращаемым значением. Например:

public bool IsSquare(Rectangle rect){return (rect.Height == rect.Width);}

В этом коде применяется один из базовых классов.NET, System.Drawing.Rectangle, представляющий прямоугольники. Если метод не возвращает ничего, то в качестве типа возврата указывается void, поскольку вообще опустить тип возврата невозможно. Если же он не принимает аргументов, то все равно после имени метода должны присутствовать пустые круглые скобки. При этом включать в тело метода оператор возврата не обязательно — метод возвращает управление автоматически по достижении закрывающей фигурной скобки. Следует отметить, что метод может содержать любое необходимое количество операторов возврата:

public bool IsPositive(int value){if (value < 0)return false;return true;}

Используя возвращаемое значение, можно усовершенствовать рассматривавшийся ранее пример с классом Building. Вместо того чтобы вычислять величину площади на одного человека в методе Main(), лучше возвратить ее из этого метода AreaPerPerson() класса Building. Среди прочих преимуществ такого подхода следует особо отметить возможность использовать возвращаемое значение для выполнения других вычислений. Приведенный ниже пример представляет собой улучшенный вариант рассматривавшейся ранее программы с методом AreaPerPerson (), возвращающим величину площади на одного человека.

using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace BuildingProbe{ class Building { public int Floors; // количество этажей public int Area; // общая площадь здания public int Occupants; // количество жильцов // Возвратить величину площади на одного человека, public int AreaPerPerson() { return Area / Occupants; } } //В этом классе объявляется объект типа Building, class Program { static void Main(string[] args) { Building house = new Building(); // создать объект типа Building int areaPP; // площадь на одного человека // Присвоить значения полям в объекте house, house.Occupants = 4; house.Area = 250; house.Floors = 2; // Вычислить площадь на одного человека. areaPP = house.AreaPerPerson(); Console.WriteLine("Дом имеет:\n " + house.Floors + " этажа\n " + house.Occupants + " жильца\n " + house.Area + " кв. метров общей площади, из них\n " + areaPP + " приходится на одного человека"); Console.ReadLine(); } }}
<== предыдущая лекция | следующая лекция ==>
Создание объектов | Перегрузка методов
Поделиться с друзьями:


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


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



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




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