Управляемый C++ в .NET Framework

Атомные станции России
Смоленская АЭС
Курская АЭС
Калининская АЭС
Кольская АЭС
Ростовская АЭС
Нововоронежская АЭС
Ленинградская АЭС
Билибинская АЭС
Белоярская АЭС
Балаковская АЭС
Безопасность АЭС
Экология
Модернизация АЭС
Перспективы
Соцкультбыт
Типы атомных станций
  • с реакторами РБМК 1000
  • с реакторами ВВЭР
  • с реакторами БН-600
  • Атомная энергетика
    Первая в мире атомная электростанция
    Юбилей Атомной энергетики
    Российские атомные ледоколы
    Ядерные реакторы
     
  • Ядерные топливные циклы
  • Безопасность АЭС
  • История атомной энергетики
  • Канальный кипящий графитовый реактор
  • Реакторы водо-водяного типа
  • Реакторы на быстрых нейтронах
  • Сравнение различных типов энергетических
    ядерных реакторов
  • Реакторы третьего поколения ВВЭР-1500
  • Безопасный быстрый реактор РБЕЦ
  • Энергетическая установка ГТ-МГР
  • ВАО АЭС
  • Импульсные реакторы 
  • Реактор БИГР (быстрый
    импульсный графитовый реактор)
  • Атомные батареи в космосе
  • Излучатели нейтронов
  • Изотопные источники электронов
  • Первый бетатрон для ускорения
    электронов
  • Альтернативная энергетика
    Курсовые проекты по ядерным реакторам
    Испытания ядерного оружия
     
  • Ядерные испытания том 1
  • Ядерные испытания том 2
  • Ядерное разоружение
  • Ядерное оружие
  • Ядерные испытания в Артике
     
  • Арктический ядерный полигон
  • Создание полигона
  • Подводные ядерные взрывы
  • Испытание оперативно-тактической
    ракеты
  • Аварии на ядерных реакторах
     
  • Чернобыльская катастрофа
  • Чернобыльская АЭС
  • Космические ядерные аварии
  • Курс Атомная энергетика
    Книга Укращение ядра
    Теплоэнергетика
    Малая теплоэнергетика
    Машиностроительное черчение
    и инженерная графика
    Приемы выполнения графических работ
    Инженерная графика
    Разъемные и неразъемные соединения
    Виды соединения деталей
    Работа в AutoCAD при выполнении чертежа
    Инженерная графика
    Аксонометрическая проекция
    Техническое черчение
    Компас-3d
    Лабораторные работы
    и задачи по электротехнике
    Трехфазные цепи
    Методы расчета электрической цепи
    Соединение нагрузки треугольником
    Преимущества трезфазных систем
    Расчет симметричных режимов работы
    трехфазных систем
    Расчет разветвленных однофазных цепей
    Расчет разветвленной магнитной цепи
    Математика
    Математика решение задач
    Линейная алгебра
    Дифференциальное исчисление
    Дифференциальные уравнения
    Теория вероятностей
    Математический анализ
    Геометрический смысл производной
    Числовые ряды
    функции комплексного переменного
    Вычислить интеграл Задачи и примеры
    Поверхностные и кратные интегралы
    Физические задачи

    Билеты к экзамену по высшей математике

    Компьютерная математика Mathematica
    Maple
    Матричная лаборатория MATLAB
    Физика
  • Электротехника
  • Кинематика, динамика, термодинамика
  • Электростатика, Магнетизм
  • Волновая и квантовая оптика
  • Физика в конспективном изложении
  • Законы геометрической оптики
  • Механизм ядерных реакций
  • Электромагнитные колебания
  • Ядерная физика
  • Строение и общие свойства атомных ядер
  • Модели атомных ядер
  • Радиоактивные превращения ядер
  • Ядерные реакции
  • Деление ядер
  • Курс Физика ядра и частиц
  • Сопротивление материалов
    Лабораторные работы по сопромату
  • Исследовать рабочую систему
    механизма редуктора
  • Лабораторные работы по сопромату
  • Содержание и задачи курса
    сопротивление материалов
  • Техническая механика
  • Балочные системы
  • Чертежи
  • Основные типы подшипников качения
  • Дизайн
     
  • Дизайн в промышленности
  • Западный и российский дизайн
  • История дизайна
  • Эргономика
  • Архитектура и проектирование
    промышленных изделий
  •  
    История искусства
    Техника иконописания
    Сюжеты древнерусской живописи
    Баухауз
    Информатика
    Информатика
    Турбо Паскаль
    Visual Studio
    Visual Foxpro
    Visual Basic
    CorelDRAW

    Новая технология .NET

     

     

    Язык C++ — мощный инструмент разработки программ , оказавший огромное влияние на развитие вычислительной науки. Управляемые (managed) расширения от Microsoft добавили в язык C++ целый новый мир — мир .NET. Для того чтобы полностью использовать возможности Visual C++ .NET, необходимо понимать, как он работает с .NET Framework. Мы начнем рассмотрение с базового класса Object (Объект) из пространства имен System. Затем рассмотрим коллекции, а также методы класса Object (Объект), которые следует перегрузить для использования возможностей, предоставляемых .NET Framework. Далее познакомимся с интерфейсами, позволяющими строго определить свойства реализуемых классов. В управляемом C++ класс может реализовывать несколько интерфейсов, даже при том, что он может быть потомком только одного суперкласса. Интерфейсы позволяют применять динамическое программирование; во время выполнения программы можно послать классу запрос для того, чтобы узнать, поддерживает ли он определенный интерфейс

    • Объект системы: System::Object
    • Общедоступные методы экземпляров класса Object (Объект) Есть четыре общедоступных метода экземпляров класса Object (Объект), три из которых являются виртуальными и часто подменяются в управляемых классах.
    • Защищенные методы экземпляров класса object (Объект) Техническая механика — комплексная дисциплина. Она включает три раздела: «Теоретическая механика», «Сопротивление материалов», «Детали машин». «Теоретическая механика» — раздел, в котором излагаются основные законы движения твердых тел и их взаимодействия. В разделе «Сопротивление материалов» изучаются основы прочности материалов и методы расчетов элементов конструкций на прочность, жесткость и устойчивость под действием внешних сил. В заключительном разделе «Технической механики» «Детали машин» рассматриваются основы конструирования и расчета деталей и сборочных единиц общего назначения.
    • Родовые интерфейсы и обычное поведение Если вы знакомы с языком Smalltalk или ему подобными, набор возможностей, реализованных непосредственно в классе Object (Объект), может показаться вам весьма ограниченным. В языке Smalltalk, в котором использована концепция иерархии классов, являющихся потомками одного базового класса, набор методов, реализованных в Object (Объект), весьма широк.
    • Использование методов класса object (Объект) в классе Customer (Клиент)
    • Коллекции
    • Пример класса ArrayList (Список массивов) Для начала приведем простой пример использования класса ArrayList (Список массивов) Как понятно из названия (Array List — Список массивов), ArrayList — это список объектов, хранимый подобно массиву Размер списка массивов может динамически изменяться, и может расти при добавлении новых элементов
      Классы коллекций содержат экземпляры класса ОЬц ect (Объект) Мы создадим и будем иметь дело с коллекцией объектов Customer (Клиент) Использовать любой другой встроенный или определяемый пользователем управляемый тип ничуть не сложнее При использовании простого типа, такого, как int, экземпляр данного типа для сохранения в коллекции должен быть упакован (boxed), а перед его использованием — распакован обратно в int
    • Интерфейсы Вычисление объема тела
    • Основные сведения об интерфейсах
    • Программирование с использованием интерфейсов Использование интерфейсов облегчает программирование на управляемом C++. Интерфейсы реализуются через классы, и для получения указателя на интерфейс можно выполнить приведение указателя на класс. Методы интерфейсов можно вызывать, используя и указатели на класс, и указатели на интерфейс; однако для того, чтобы полностью воспользоваться достоинствами полиморфизма, предпочтительно везде, где только возможно, использовать указатели на интерфейсы.
    • Динамическое использование интерфейсов
    • Программа Бюро путешествий Acme (Acme Travel Agency)
    • Явное определение интерфейсов При использовании интерфейсов может возникать неопределенность в случае, если в двух реализованных классом интерфейсах есть методы с одинаковыми именами и сигнатурами. Просмотрим, например, следующие версии интерфейсов lAccount и IState-ment
    • Родовые интерфейсы в .NET
    • Интерфейсы коллекций
    • Копирование объектов и интерфейс icioneable Иногда бывает необходимо сделать копию объекта. Если при этом копируются объекты, которые содержат другие объекты или указатели на них, то для корректной реализации этого процесса необходимо понимать его особенности. Ниже мы сравним копирование указателя, поверхностное почленное копирование и детальное копирование. Мы увидим, что в зависимости от реализации интерфейса ICloneable, используемого для копирования объектов, существует возможность как поверхностного, так и детального копирования.
      Напомним, что в .NET Framework есть значащие типы данных и ссылочные типы. Значащие типы данных представляют собой непосредственно данные, а ссылочные типы всего лишь указывают местонахождение данных. Если значение одной переменной-указателя скопировать в другую переменную того же типа, обе переменные будут указывать на один и тот же объект. Если с помощью первого указателя этот объект будет изменен, то изменится и объект, на который ссылается второй указатель. Иногда требуется именно такое поведение, а иногда другое.
    • Сравнение объектов
    • Что такое каркасы приложений
    • Делегаты Интерфейсы облегчают написание профамм в том смысле, что ее составляющие могут быть вызваны другими приложениями или системой. Такой стиль профаммирования известен давно как использование функций обратного вызова (callback function). В этом разделе мы рассмотрим использование делегатов (delegate) в управляемом C++. Делегаты можно рассматривать в качестве объектно-ориентированных функций обратного вызова, обеспечивающих типовую безопасность. Делегаты — основа более сложного протокола вызова функций обратного вызова, называемого событиями, которые мы рассмотрим в следующем разделе главы.
      Функции обратного вызова — это функции, которые ваша программа определяет и некоторым образом "регистрирует", после чего они могут быть вызваны другими приложениями. В С и C++ такие функции реализуются с использованием указателей на функции.
    • Объявление делегата
    • Определение метода
    • Создание экземпляра делегата
    • Вызов делегата Синтаксис "вызова" делегата совпадает с синтаксисом вызова метода. Делегат не является сам по себе методом, но он инкапсулирует метод. Делегат "передает" вызов инкапсулированному методу, потому и называется делегатом (от англ, delegate — поручать, уполномочивать). В приведенном ниже фрагменте кода делегат notif yDlg вызывается в случае, если при выплате со счета получается отрицательный баланс.
    • Объединение экземпляров делегатов
    • Полный пример
    • Моделирование фондовой биржи Для дальнейшего знакомства с использованием делегатов рассмотрим пример моделирования фондовой биржи, реализованный в папке stockMarket. Модель состоит из двух модулей:
      • Модуль Admin (Управляющий модуль) предоставляет пользовательский интерфейс для конфигурирования и запуска модели. Кроме того, в нем реализованы операции, вызываемые моделирующей машиной.
      • Модуль Engine (Машинный модуль) — это и есть моделирующая машина. В данном модуле есть внутренние часы; модуль случайным образом, в соответствии с параметрами конфигурации, генерирует информацию о совершаемых сделках.
    • События
    • События в управляемом C++ и .NET
    • Описание сервера
    • Описание клиента
    • Комната для дискуссий: пример чат-программы

    Новая технология .NET, предложенная компанией Microsoft

    Основы технологии .NET

    Программирование на управляемом C++

    Объектно-ориентированное программирование на управляемом C++

    Создание графических пользовательских интерфейсов

    Сборки и развертывание в Microsoft .NET

    Курс лекций Сопротивление материалов