Симон Робинсон - C# для профессионалов. Том II

Тут можно читать онлайн Симон Робинсон - C# для профессионалов. Том II - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Лори, год 2003. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# для профессионалов. Том II
  • Автор:
  • Жанр:
  • Издательство:
    Лори
  • Год:
    2003
  • Город:
    Москва
  • ISBN:
    5-85582-187-0
  • Рейтинг:
    4.88/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Симон Робинсон - C# для профессионалов. Том II краткое содержание

C# для профессионалов. Том II - описание и краткое содержание, автор Симон Робинсон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
C# для профессионалов

Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.

В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.

Для кого предназначена эта книга

Эта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.

Основные темы книги

• Все особенности языка C#

• C# и объектно-ориентированное программирование

• Приложения и службы Windows

• Создание web-страниц и web-служб с помощью ASP NET

• Сборки .NET

• Доступ к данным при помощи ADO NET

• Создание распределённых приложений с помощью NET Remoting

• Интеграция с COM, COM+ и службой Active Directory

C# для профессионалов. Том II - читать онлайн бесплатно полную версию (весь текст целиком)

C# для профессионалов. Том II - читать книгу онлайн бесплатно, автор Симон Робинсон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

// MyObject является экземпляром рассматриваемого класса

MyObject.SetLength(10);

int Length = MyObject.GetLength();

В C# можно реализовать эти методы, как аксессоры (методы доступа) getи setсвойства Length. Тогда запишем

// MyObject является экземпляром рассматриваемого класса

MyObject.Length = 10;

int length = MyObject.Length;

Чтобы определись эти методы доступа, свойство будет определяться следующим образом:

class MyClass {

private int length;

public int Length {

get {

return length;

}

set {

Length = value;

}

Хотя методы доступа getи setреализованы здесь, чтобы просто возвращать или задавать поле length, в эти методы можно поместить любой другой требуемый код C# так же, как это обычно делается в методе. Например, добавить некоторую проверку данных в метод доступа set. Отметим, что метод доступа setвозвращает voidи получает дополнительный неявный параметр с именем value.

Можно опустить любой из методов доступе getили setиз определения свойства, и в этом случае свойство осуществляет соответственно либо только запись, либо только чтение.

Операторы

Значение и синтаксис операторов в большинстве случаев те же в C#, что и в C++. Следующие операторы по умолчанию имеют в C# такое же значение и синтаксис как и в C++:

□ Бинарные арифметические операторы +, -, *, /, %

□ Соответствующие арифметические операторы присваивания +=, -=, *=, /=, %=

□ Унарные операторы ++и --(обе — префиксная и постфиксная формы)

□ Операторы сравнения !=, ==, <, <=, >=

□ Операторы сдвига >>и <<

□ Логические операторы &, |, &&, ||, ~, ^, !

□ Операторы присваивания, соответствующие логическим операторам: >>=, <<=, &=, |=, ^=

□ Тернарный (условный) оператор

Символы (), [], и ,(запятая) также имеют в общих чертах такой же эффект в C#, как и в C++.

Необходимо быть осторожным со следующими операторами, так как они действуют в C# иначе, чем в C++:

□ Присваивание ( =), new, this.

Оператор разрешения области видимости в C# представлен ., а не ::( ::не имеет смысла в C#). Также в C# не существуют операторы deleteи delete[]. Они не нужны, так как сборщик мусора автоматически управляет очисткой памяти в куче. Однако C# предоставляет также три других оператора, которые не существуют в C++, а именно, is, asи typeof. Эти операторы связаны с получением информации о типе объекта или класса.

Оператор присваивания (=)

Для простых типов данных = просто копирует данные. Однако при определении своих собственных классов C++ считает в большой степени, что обязанность разработчика указать значение =для этих классов. По умолчанию в C++ =требует поверхностного почленного копирования всех переменных, классов или структур. Однако программисты перезагружают этот оператор для выполнения более сложных операций присваивания.

В C# правила, определяющие, что означает оператор присваивания, значительно проще. Вообще не разрешается перезагружать =, его значение неявно определено во всех ситуациях.

Ситуация в C# будет следующая:

□ Для простых типов данных =просто копирует значения, как в C++.

□ Для структур =делает поверхностное копирование структуры — прямую копию памяти данных в экземпляре структуры. Это аналогично поведению в C++.

□ Для классов =копирует ссылку, то есть адрес, а не объект. Это не соответствует поведению в C++.

Если требуется скопировать экземпляры классов, обычный способ в C# состоит в переопределении метода MemberwiseCopy(), который все классы в C# по умолчанию наследуют из класса System.Object— общего класса-предка, из которого неявно выводятся все классы C#.

this

Оператор thisимеет то же самое значение, что и в C++, но это скорее ссылка, а не указатель. Например, в C++ можно записать:

this->m_MyField = 10;

В C# это будет выглядеть так:

this.MyField = 10;

thisиспользуется в C# таким же образом, как и в C++. Например, можно передавать его в качестве параметра в вызовах методов или использовать его, чтобы сделать явным доступ к полю-члену класса. В C# существует пара других ситуаций, которые синтаксически требуют использования this, о них будет упомянуто в разделе о классах.

new

Как сообщалось ранее, оператор new, интерпретируемый как конструктор, имеет другое значение в C#, поскольку он обеспечивает инициализацию объекта а не запрос динамического выделения памяти.

Классы и структуры

В C++ классы и структуры очень похожи. Формально единственное различие состоит в том, что члены структуры являются по умолчанию открытыми, в то время как члены класса являются по умолчанию закрытыми. На практике, однако, многие программисты предпочитают использовать структуры и классы различным образом, сохраняя использование структур для объектов данных, которые содержат только члены-переменные (другими словами, без функций членов или явных конструкторов).

C# отражает это традиционное различие использования. В C# класс — это совершенно другой тип объектов, по сравнению со структурой, поэтому нет необходимости тщательно рассматривать, будет ли лучше определить заданный объект как класс или как структуру. Наиболее важные различия между классами C# и структурами C# следующие:

□ Структуры не поддерживают наследование, кроме того факта, что они являются производными из System.ValueType. Невозможно наследовать от структуры и структура не может наследовать от другой структуры или класса.

□ Структуры являются типами данных значений. Классы всегда являются ссылочными типами данных.

□ Структуры позволяют организовать способ размещения полей в памяти и определяют эквивалент объединений C++.

□ Конструктор структуры по умолчанию (без параметров; всегда поставляется компилятором и не может быть заменен.

Поскольку классы и структуры сильно отличаются в C#, они в этом приложении рассматриваются по отдельности.

Классы

Классы в C# следуют в основном тем же самым принципам, что и в C++, однако существует разница в свойствах и синтаксисе. Мы рассмотрим отличия между классами C++ и классами C# в этом разделе.

Определение класса

Классы определяются в C# с помощью синтаксиса, который на первый взгляд выглядит как синтаксис C++:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Симон Робинсон читать все книги автора по порядку

Симон Робинсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# для профессионалов. Том II отзывы


Отзывы читателей о книге C# для профессионалов. Том II, автор: Симон Робинсон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x