Классы: события, делегаты, свойства, конструкторы, финализаторы, операции, индексаторы

Делегаты и анонимные функции

В версии языка C# 1.0 объявить делегат можно было только с помощью именованных методов. Способ вызова методов с использованием объектов (экземпляров) делегата описан в  статье Делегаты и методы. Вспомнив, по-видимому, что в С++ используются встроенные (in-line) функции, разработчики языка C# добавили их аналог в виде анонимных функций. В версии языка C# 2.0 (2005 год) появились …

Делегаты и анонимные функции Читать далее »

Свойства. Пример «Ввод целого числа в заданном диапазоне»

В профессиональных программах необходим контроль вводимых данных. Например, вам нужно ввести двухзначное целое число. Не важно, в каком приложении будет ввод числа, так как в C# числа получают после конвертации строки. Например, в консольном приложении: int n = Convert.ToInt32(Console.ReadLine( )); или в Windows-приложении через элемент textBox int n =Convert.ToInt32(textBox1.Text); При вводе данных ошибки могут быть …

Свойства. Пример «Ввод целого числа в заданном диапазоне» Читать далее »

Интерфейсы

В статье Абстрактные классы, методы и свойства был рассмотрен пример наследования от абстрактного класса классов-потомков и использования абстрактных методов, как шаблонов для реализации их в классах-потомках. Было отмечено, что другой вариант реализации — использование интерфейсов. Они позволяют обойтись без абстрактных классов,  но позволяют контролировать работу методов родственных классов. Рассмотрим тот же пример — Правильный многоугольник. …

Интерфейсы Читать далее »

Индексаторы

Вы знаете, что доступ к индивидуальным элементам, содержащимся в стандартных массивах, осуществляется через операцию индекса ([ ]).  В языке C# имеется возможность проектировать специальные классы и структуры, которые могут быть индексированы подобно стандартному массиву, посредством определения индексатора (альтернатива массиву). Если вы можете обойтись массивами, забудьте об индексаторах. Важно, что основное назначение индексатора — предоставить пользователю …

Индексаторы Читать далее »

Операции. Перегрузка операций

В языке Си шарп имеется готовый набор лексем, используемых для выполнения базовых операций над встроенными типами. Например, известно, что операция + может применяться к двум целым, чтобы дать их сумму.  Но может ли одна и та же операция + может применяться к большинству встроенных типов данных, например, для строк: string s1 = «Иванов»; string s2 …

Операции. Перегрузка операций Читать далее »

Сборка мусора и финализаторы

В статье «Типы данных» дана характеристика и назначение двух сегментов оперативной памяти: стека (stack) и управляемой кучи (heap), отмечена эффективность стека при управлении памятью (в его работу вы при всем желании вмешаться не сможете). Работа с кучей, в которой размещаются объекты, предполагает использование автоматических сборщиков мусора (Garbage collector). Сбор мусора — это симуляция бесконечной памяти …

Сборка мусора и финализаторы Читать далее »

Конструкторы

Понятие «Конструктор» (constructor) неотделимо от понятия класса. Конструкторы — это специальные функции, вызываемые автоматически при инициализации объектов. Их имена совпадают с именами классов, которым они принадлежат, и они не имеют типа возврата. У одного класса может быть более одного конструктора, различающихся сигнатурами. Конструкторы полезны для инициализации полей класса. Интересно, что компилятор создает конструктор по умолчанию …

Конструкторы Читать далее »

Свойства в C#

Свойство в языке С# – это член класса, который предоставляет механизм доступа к полю класса (чтение и запись). При использовании свойства, мы обращаемся к нему, как к полю класса, но на самом деле вызывается соответствующий неявный метод, называемый аксессором (accessor). Существует два таких метода: get (для получения данных) и set (для записи).

Классы: события, делегаты, свойства, конструкторы, финализаторы, операции, индексаторы

Данный раздел поможет вам разобраться с событиями и член-функциями класса, отличных от методов класса, рассмотренных в предыдущем разделе. Содержание раздела: Простое Windows-приложение — текстовый редактор События и делегаты Делегаты и методы Делегаты и анонимные функции Свойства в C# Свойства. Пример «Ввод целого числа в заданном диапазоне» Конструкторы Сборка мусора и финализаторы Операции. Перегрузка операций Индексаторы …

Классы: события, делегаты, свойства, конструкторы, финализаторы, операции, индексаторы Читать далее »

События и делегаты

В Заметке о консольных и оконных (Windows Forms) приложениях мы отметили существенную разницу между ними. Консольное приложение реализует концепцию императивного (процедурного) программирования, а управление Windows-приложением основано на понятии события (event). События могут создаваться как пользователем, так и возникать в процессе выполнения приложения. Начнем с простых вещей.

Пролистать наверх