Сообщения с тегом ‘namespace’
Классы семейства геометрических фигур
Написано admin в 20 Июнь 2008 – 21:59 -Классы семейства геометрических фигур
Приведем теперь программные коды классов, являющихся потомками класса Figure.
Класс Ellipse
Вот программный код этого класса:
using System;
using System.Drawing;
namespace Shapes Read more »
Tags: axisA, axisB, base, Capture, Convert, DrawEllipse, FillRectangle, Graphics, namespace, Override, pen, Person, Rectangle, scale, sideA
Находится в Учебник | No Comments »
Абстрактный класс Figure
Написано admin в 20 Июнь 2008 – 21:58 -Абстрактный класс Figure
Приведем код класса:
using System;
using System.Drawing;
namespace Shapes Read more »
Tags: brush, Class, Color, Figure, ForestGreen, name, namespace, Rectangle, Region, return, Shapes, Show, summary, System
Находится в Учебник | No Comments »
Класс sender. Как объявляются события?
Написано admin в 20 Июнь 2008 – 21:42 -Класс sender. Как объявляются события?
При проектировании класса с событиями, возможно, самое трудное – содержательная сторона дела. Какими событиями должен обладать класс, в каких методах и в какой момент зажигать то или иное событие?
Содержательную сторону будем пояснять на содержательных примерах. А сейчас рассмотрим технический вопрос: как объявляются события средствами языка С#? Прежде всего, уточним, что такое событие с программистской точки зрения. Начнем не с самого события, а с его обработчика. Обработчик события – это обычная процедура с аргументами. Понятно, что сообщение, посылаемое при зажигании события, является аналогом вызова процедуры. Поскольку сигнатура посылаемого сообщения должна соответствовать сигнатуре принимаемого сообщения, то объявление события синтаксически должно задавать сигнатуру процедуры. Read more »
Tags: Class, delegate, event, FireEventHandler, namespace, OnFire, sender, time, TownWithEvents, void
Находится в Учебник | No Comments »
Как определяется функциональный тип и как появляются его экземпляры
Написано admin в 20 Июнь 2008 – 21:37 -Как определяется функциональный тип и как появляются его экземпляры
Слово делегат (delegate) используется в C# для обозначения хорошо известного понятия. Делегат задает определение функционального типа (класса) данных. Экземплярами класса являются функции. Описание делегата в языке C# представляет собой описание еще одного частного случая класса. Каждый делегат описывает множество функций с заданной сигнатурой. Каждая функция (метод), сигнатура которого совпадает с сигнатурой делегата, может рассматриваться как экземпляр класса, заданного делегатом. Синтаксис объявления делегата имеет следующий вид:
[<спецификатор доступа>] delegate <тип результата > <имя класса> (<список аргументов>);
Этим объявлением класса задается функциональный тип – множество функций с заданной сигнатурой, у которых аргументы определяются списком, заданным в объявлении делегата, и тип возвращаемого значения определяется типом результата делегата.
Спецификатор доступа может быть, как обычно, опущен. Где следует размещать объявление делегата? Как и у всякого класса, есть две возможности:
- непосредственно в пространстве имен, наряду с объявлениями других классов, структур, интерфейсов;
- внутри другого класса, наряду с объявлениями методов и свойств. Такое объявление рассматривается как объявление вложенного класса. Read more »
Tags: Account, Console, delegate, Fun, namespace, Person, Plus, Proc, TestOwnDel, void, WriteLine
Находится в Учебник | No Comments »
Семантика присваивания
Написано admin в 20 Июнь 2008 – 20:49 -Семантика присваивания
Рассмотрим присваивание:
x = e.
Чтобы присваивание было допустимым, типы переменной x и выражения e должны быть согласованными. Пусть сущность x согласно объявлению принадлежит классу T. Будем говорить, что тип T основан на классе T и является базовым типом x, так что базовый тип определяется классом объявления. Пусть теперь в рассматриваемом нами присваивании выражение e связано с объектом типа T1.
Определение: тип T1 согласован по присваиванию с базовым типом T переменной x, если класс T1 является потомком класса T.
Присваивание допустимо, если и только если имеет место согласование типов. Так как все классы в языке C# – встроенные и определенные пользователем – по определению являются потомками класса Object, то отсюда и следует наш частный случай – переменным класса Object можно присваивать выражения любого типа. Read more »
Tags: byte, Child, Class, namespace, Object, Parent, string, summary, System, Testing, uint, WhoIsWho
Находится в Учебник | No Comments »
