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

Здесь есть возможность читать онлайн «Симон Робинсон - C# для профессионалов. Том II» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2003, ISBN: 2003, Издательство: Лори, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# для профессионалов. Том II: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# для профессионалов. Том II»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

}

}

class Tree : Plant {

public Tree(){}

// ключевое слово new используется здесь явно, чтобы скрыть

// базовую версию

new public void BearFruit() {

Console.WriteLine("Tree fruit is:->Mango");

}

}

public class PlantEX {

public PlantEX(){}

public static void Main(String[] args) {

Plant p = new Plant();

p.BearFruit(); // вызывает реализацию базового класса

Tree t = new Tree();

t.BearFruit(); // вызывает реализацию класса наследника

((Plant)t).BearFruit(); // вызывает реализацию базового класса,

// используя наследника.

}

}

}

Выполнение этого примера создает следующий вывод:

Generic plant fruit

Tree fruit is:->Mango

Generic plant fruit

Необходимо отметить, что существует различие между сокрытием метода и обыкновенным полиморфизмом. Полиморфизм всегда будет предоставлять для вызова метод класса-наследника.

Примечание. Во время написания этой книги автор обнаружил, что сокрытие метода компилируется без ошибок и предупреждений, даже когда ключевое слово new небыло использовано.

Чтобы предоставить функциональность переопределения, используются модификаторы virtualи override. Все методы в базовом классе, которые будут переопределяться, должны применить ключевое слово virtual. Чтобы реально переопределить их, в классе-наследнике используется ключевое слово override. Ниже представлен пример класса Tree, измененный для вывода переопределенной функциональности:

class Tree Plant {

public Tree() {}

public override void Fruit() {

Console.WriteLine("Tree fruit is:->Mango");

}

}

Компиляция и выполнение этого создают следующий вывод.

Generic plant fruit

Tree fruit is:->Mango

Tree fruit is:->Mango

Как можно видеть, вызывается самый последний переопределенный метод Fruit()независимо от использования cтратегии преобразования ((Plant)t).BearFruit(), которая применялась ранее для ссылки на метод Fruit()базового класса. Модификатор new может также использоваться для сокрытия любого другого типа наследованных из базового класса членов аналогичной сигнатуры.

Чтобы помешать случайному наследованию класса, используется ключевое слово sealed. В приведенном выше призере можно изменить объявление Plantна public sealed class Plantи в этом случае Treeбольше не сможет от него наследовать.

C# не имеет модификатора native. В Java использование nativeуказывает, что метод реализован на зависимом от платформы языке. Это требует чтобы метод был абстрактным, так как реализация должна находиться в другом месте. Ближайшим к этому типу функциональности является модификатор extern. Использование externпредполагает, что код реализуется вовне (например, некоторой собственной DLL). Однако в отличие от Java, нет необходимости использовать ключевое слово abstractв соединении с ним. Фактически это приведет к ошибке, так как они означают две похожие, но различные вещи. Ниже класс Plantиз предыдущего примера показывает, как можно использовать extern:

public class Plant : IfruitHaver {

public extern int See();

public Plant(){}

public void Fruit() {

Console.WriteLine("Generic plant fruit");

}

}

Это не имеет большого смысла без использования атрибута DllImportдля определения внешней реализации. Более подробно атрибуты будут рассмотрены позже в приложении. Дальнейший код делает соответствующие изменения, предполагая, что функция Seeэкспортирована ресурсом User32.dll:

public class Plant: IfruitHaver {

[System.Runtime.InteropServices.DllImport("User32.dll)]

public static extern int See();

public Plant(){}

public void Fruit() {

Console.WriteLine("Generic plant fruit");

}

}

Здесь метод See()помечен как статический. Атрибут DllImportтребует этого от методов, на которых он используется

Пока не существует версии C# ключевых слов transient, volatileили synchronized. Однако существует ряд способов, предоставляемых SDK .NET для имитации некоторой их функциональности. C# использует атрибут NonSerialized, связанный с полями класса, для предоставления механизма, аналогичного по функциональности модификатору Java transient, этот атрибут однако опротестован, поэтому может быть изменен в будущих версиях.

Синхронизация в C# несколько усложнена (более трудоемка) по сравнению с ее аналогом в Java. В общем, любой поток выполнения может по умолчанию получить доступ ко всем членам объекта. Имеется, однако ряд способов синхронизации кода в зависимости от потребностей разработчика с помощью использования таких средств, как Monitors. Они предоставляют возможность делать и освобождать блокировки синхронизации на объектах SyncBlocks, которые содержат блокировку используемую для реализации синхронизированных методов и блоков кода; список ожидающих потоков выполнения, используемых для реализации функциональности монитора ReaderWriterLock, который определяет образец одного писателя для многочисленных читателей; примитивы синхронизации Mutex, предоставляющие межпроцессную синхронизацию; и System.Threading.Interlocked, который может использоваться для предоставлении синхронизированного доступа к переменным через несколько потоков выполнения.

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

Интервал:

Закладка:

Сделать

Похожие книги на «C# для профессионалов. Том II»

Представляем Вашему вниманию похожие книги на «C# для профессионалов. Том II» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «C# для профессионалов. Том II» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x