русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оператор typeof


Дата добавления: 2013-12-23; просмотров: 1185; Нарушение авторских прав


Пример

Оператор new.

Оператор new используется для создания новых экземпляров типов.

Существует три формы выражений new:

· Выражения создания объектов используются для создания новых экземпляров типов класса и типов значения.

· Выражения создания массивов используются для создания новых экземпляров типов массива.

· Выражения создания делегатов используются для создания новых экземпляров типа делегата.

struct SampleStruct

{

public int x;

public int y;

 

public SampleStruct(int x, int y)

{

this.x = x;

this.y = y;

}

}

 

class SampleClass

{

public string name;

public int id;

 

public SampleClass() {}

 

public SampleClass(int id, string name)

{

this.id = id;

this.name = name;

}

}

 

class ProgramClass

{

static void Main()

{

// Create objects using default constructors:

SampleStruct Location1 = new SampleStruct();

SampleClass Employee1 = new SampleClass();

 

// Display values:

Console.WriteLine("Default values:");

Console.WriteLine(" Struct members: {0}, {1}",

Location1.x, Location1.y);

Console.WriteLine(" Class members: {0}, {1}",

Employee1.name, Employee1.id);

 

// Create objects using parameterized constructors:

SampleStruct Location2 = new SampleStruct(10, 20);

SampleClass Employee2 = new SampleClass(1234, "Luciana Ramos");

 

// Display values:

Console.WriteLine("Assigned values:");

Console.WriteLine(" Struct members: {0}, {1}",

Location2.x, Location2.y);

Console.WriteLine(" Class members: {0}, {1}",

Employee2.name, Employee2.id);

}

}

Если в определение структуры SampleStruct добавить конструктор экземпляра по умолчанию

public SampleStruct() { }



Это приведет к ошибке: Структуры не могут содержать явных конструкторов без параметров

Выражения создания объектов

Выражение_создания_объекта используется для создания нового экземпляра типа_класса или типа_значения.

выражение_создания_объекта:
new тип ( список_аргументовнеобязательно ) инициализатор_объекта_или_коллекциинеобязательно
new тип инициализатор_объекта_или_коллекции

инициализатор_объекта_или_коллекции:
инициализатор_объекта
инициализатор_коллекции

Тип выражения_создания_объекта должен быть равен типу_класса, типу_значения или параметру_типа. Тип не может быть типом_класса abstract.

Во время выполнения обработка выражения_создания_объекта в виде new T(A), где T является типом_класса или типом_структуры, а A является необязательным списком_аргументов, включает следующие этапы.

· Если T является типом_класса:

o Создается новый экземпляр класса T.

o Все поля нового экземпляра инициализируются с помощью значений по умолчанию.

o В соответствии с правилами вызова функции-члена вызывается конструктор экземпляра. Ссылка на созданный экземпляр автоматически передается конструктору экземпляра, и к этому экземпляру можно обращаться из этого конструктора с помощью this.

· Если T является типом_структуры:

o С помощью выделения временной локальной переменной создается экземпляр типа T. Поскольку для явного присвоения значений каждому полю создаваемого экземпляра требуется конструктор экземпляра типа_структуры, инициализация временной переменной не требуется.

o В соответствии с правилами вызова функции-члена вызывается конструктор экземпляра. Ссылка на созданный экземпляр автоматически передается конструктору экземпляра, и к этому экземпляру можно обращаться из этого конструктора с помощью this.

Оператор typeof используется для получения объекта System.Type для типа.

 



<== предыдущая лекция | следующая лекция ==>
Доступ this | ЛИПОПРОТЕИНЫ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.01 сек.