Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 344; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.236 (0.007 с.) |