Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Сравнение свойств и индексаторовСодержание книги
Поиск на нашем сайте
Индексаторы подобны свойствам. За исключением различий, перечисленных в следующей таблице, все правила, определенные для методов доступа к свойствам, применимы и к методам доступа к индексаторам:
Понятие «Метод» и «Свойство» Понятие «Метод» Понятие «Метод»
Понятие «Метод»
Метод представляет собой блок кода, содержащий набор инструкций. Программа инициирует выполнение операторов, вызывая метод и задавая необходимые аргументы метода. В C# все инструкции выполняются в контексте метода. Например, метод Main является точкой входа для каждого приложения C#, и вызывается он средой CLR при запуске программы. Не стоит путать методы и анонимные методы (последние реализуются через делегаты).
Сигнатура метода
Методы объявляются в классе или в структуре путём указания уровня доступа, например public или private, необязательных модификаторов, например abstract или sealed, возвращаемого значения, имени метода и списка параметров этого метода. Все вместе эти элементы образуют сигнатуру метода. Тип возвращаемого методом значения не является частью сигнатуры метода с точки зрения перегрузки методов. В то же время он являются частью сигнатуры метода при определении совместимости между делегатом и методом, на который он указывает. Параметры метода заключаются в круглые скобки и разделяются запятыми. Пустые скобки указывают на то, что у метода нет параметров. Следующий класс (абстрактный) содержит три метода (в комментариях содержат слова «Действия метода»):
abstract class Motorcycle { // Может вызвать кто-угодно public void StartEngine() {/* Действия метода */ } // Только производные классы могут вызвать метод protected void AddGas(int gallons) { /* Действия метода */ } // Производные классы могут переопределить реализацию метода из базового класса (текущую реализацию) public virtual int Drive(int miles, int speed) { /* Действия метода */ return 1; } // Производные классы должны реализовать это public abstract double GetTopSpeed(); }
Доступ к методам
Вызов метода объекта очень похож на обращение к полю. После имени объекта ставится точка, затем имя метода и скобки. В скобках перечисляются аргументы, разделенные запятыми. Таким образом, методы класса Motorcycle можно вызывать так, как показано в следующем примере:
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace LC_Console { abstract class Motorcycle { // Может вызвать кто-угодно public void StartEngine() {/* Действия метода */ } // Только производные классы могут вызвать метод protected void AddGas(int gallons) { /* Действия метода */ } // Производные классы могут переопределить реализацию метода из базового класса (текущую реализацию) public virtual int Drive(int miles, int speed) { /* Действия метода */ return 1; } // Производные классы должны реализовать это public abstract double GetTopSpeed(); }
class TestMotorcycle: Motorcycle { public override double GetTopSpeed() { return 108.4; }
static void Main() { TestMotorcycle moto = new TestMotorcycle(); moto.StartEngine(); moto.AddGas(15); moto.Drive(5, 20); double speed = moto.GetTopSpeed(); Console.WriteLine("Максимальная скорость составляет: {0}", speed); // Выведет: Максимальная скорость составляет: 108.4 Console.WriteLine("Для продолжения нажмите любую клавишу...");; Console.ReadKey(); } } }
|
||||||||||||||||
Последнее изменение этой страницы: 2016-12-28; просмотров: 252; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.76.168 (0.006 с.) |