Перегруженный оператор

Пример кода на языке C#.

Примеры по Созданию консольных приложений (Visual C#) доступныпо ссылке http://msdn.microsoft.com/ru-ru/library/452fz12a(v=vs.90)

Пример. Создание консольного приложения Visual C# Console Application.

//директиваusing с перечислением пространств имен библиотеки классов платформы .NET Framework//определяет префиксSystem

using System;

// объявление собственного пространства имен

namespace ConsoleApplication2

{

//Класс Program объявлен с единственным членом ­- статическим методом Main

class Program

{

//Метод Main - точка входа в программу

static void Main(string[] args)

{

string text;

Console.Write("Введите текст\n");

text = Console.ReadLine();

//статический метод WriteLine–класса Console пространства имен System

Console.WriteLine(text);

}

}

}

Результат выполнения программы:

Перегруженный оператор - student2.ru

Метод Main объявляется внутри класса или структуры.

Перегруженный оператор - student2.ru

Файлы исходного кода С# имеют расширение .cs. C# программы состоят из одного или более исходных файлов. При компиляции C# программ получаются сборки. Сборки имеют расширение .exe или .dll, они реализованы как приложения или как библиотеки.

Общие сведения о системе общих типов (CTS).

Система общих типов определяет способ объявления, использования и управления типами во время выполнения.

Типы и переменные

There are two kinds of types in C#: value types and reference types.

Система общих типов поддерживает две общие категории типов: типы значений и ссылочные типы.

Переменные типа значений содержат данные.

Переменные ссылочного типа хранят ссылки на соответствующие данные (объекты).

К типам значений в C# относятся простые типы, перечисляемые типы, типы структур и обнуляемые типы. К ссылочным типам в C# относятся типы классов, типы интерфейсов, типы массивов и типы делегатов.

Система общих типов CTS в платформе .NET Framework поддерживает следующие категории типов: (из Спецификации языка C# версии 3.0)

Category Description
Value types Simple types Signed integral: sbyte, short, int, long
Unsigned integral: byte, ushort, uint, ulong
Unicode characters: char
IEEE floating point: float, double
High-precision decimal: decimal
Boolean: bool
Enum types User-defined types of the form enum E {...}
Struct types User-defined types of the form struct S {...}
Nullable types Extensions of all other value types with a null value
Reference types Class types Ultimate base class of all other types: object
Unicode strings: string
User-defined types of the form class C {...}
Interface types User-defined types of the form interface I {...}
Array types Single- and multi-dimensional, for example, int[] and int[,]
Delegate types User-defined types of the form e.g. delegate int D(...)


Для создания нового типа в программах на языке C# его необходимо определить. Можно определить пять пользовательских типов: классы, структуры, интерфейсы, перечисления и делегаты.

Классы и объекты

Класс — это структура данных, объединяющая состояние (поля) и действия (методы и другие функции-члены). Экземпляры класса создаются с помощью оператора new. Класс может содержать статические члены или члены экземпляра. Статические члены принадлежат классам. Члены экземпляра принадлежат объектам (экземплярам класса).

В типе можно определить следующие члены: (Джеффри Рихтер CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C# Питер, Русская Редакция 2007)

Константа.Идентификатор, определяющий постоянную величину. Константы связаны с типом, а не с экземпляром.

Поле. Представляет неизменяемое или изменяемое значение. Поле может быть статическим – тогда оно является частью типа и экземплярным ­ ­­­- тогда оно является частью объекта.

Метод. Представляет собой функцию, выполняющую операции, которые изменяют или запрашивают состояние типа (статический метод) или объекта (экземплярный метод).

Конструктор экземпляра– метод, используемый для инициализации полей экземпляра при его создании.

Конструктор типа– метод, используемый для инициализации статических полей типа.

Свойство. Для того чтобы можно было изменить значение (получить значение) закрытой переменной, необходимо использовать свойства или функции доступа (accessors). Для вызывающей стороны этот член выглядит как поле, но в реализации типа он выглядит как метод.

Перегруженный оператор.

Наши рекомендации