Герберт Шилдт - C# 4.0 - полное руководство

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

C# 4.0: полное руководство: краткое содержание, описание и аннотация

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

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.
Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

C# 4.0: полное руководство — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# 4.0: полное руководство», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

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

Интервал:

Закладка:

Сделать

Обратите также внимание на то, что в классе Gen2параметр типа Т не используется, а только передается вверх по иерархии базовому классу Gen. Это означает, что в производном классе следует непременно указывать параметры типа, требующиеся его обобщенному базовому классу, даже если этот производный класс не обязательно должен быть обобщенным.

Разумеется, в производный класс можно свободно добавлять его собственные параметры типа, если в этом есть потребность. В качестве примера ниже приведен вариант предыдущей иерархии классов, где в класс Gen2добавлен собственный параметр типа.

// Пример добавления собственных параметров типа в производный класс,

using System;

// Обобщенный базовый класс,

class Gen {

T ob; // объявить переменную типа Т

// Передать конструктору ссылку типа Т.

public Gen(T о) {

ob = о;

}

// Возвратить значение переменной ob.

public T GetOb() {

return ob;

}

}

// Класс, производный от класса Gen. В этом классе

// определяется второй параметр типа V.

class Gen2 : Gen {

V ob2;

public Gen2(T o, V o2) : base(o) {

ob2 = o2;

}

public V GetObj2() {

return ob2;

}

}

// Создать объект класса Gen2.

class GenHierDemo2 {

static void Main() {

// Создать объект класса Gen2 с параметрами

// типа string и int.

Gen2 < string, int > x =

new Gen2("Значение равно: ", 99);

Console.Write(x.GetOb());

Console.WriteLine(x.GetObj2());

}

}

Обратите внимание на приведенное ниже объявление класса Gen2 в данном варианте иерархии классов.

class Gen2 : Gen {

В этом объявлении Т — это тип, передаваемый базовому классу Gen; а V — тип, характерный только для производного класса Gen2. Он служит для объявления объекта оb2и в качестве типа, возвращаемого методом GetObj2(). В методе Main()создается объект класса Gen2с параметром Т типа stringи параметром V типа int. Поэтому код из приведенного выше примера дает следующий результат.

Значение равно: 99

Обобщенный производный класс

Необобщенный класс может быть вполне.законно базовым для обобщенного производного класса. В качестве примера рассмотрим следующую программу.

// Пример необобщенного класса в качестве базового для

// обобщенного производного класса.

using System;

// Необобщенный базовый класс,

class NonGen {

int num;

public NonGen(int i) {

num = i;

}

public int GetNum() {

return num;

}

}

// Обобщенный производный класс,

class Gen : NonGen {

T ob;

public Gen(T o, int i) : base(i) {

ob = o;

}

// Возвратить значение переменной ob.

public T GetOb() {

return ob;

}

}

// Создать объект класса Gen.

class HierDemo3 {

static void Main() {

// Создать объект класса Gen с параметром типа string.

Gen w = new Gen("Привет", 47);

Console.Write(w.GetOb() + " ");

Console.WriteLine(w.GetNum());

}

}

Эта программа дает следующий результат.

Привет 47

В данной программе обратите внимание на то, как класс Genнаследует от класса NonGenв следующем объявлении.

class Gen : NonGen {

Класс NonGenне является обобщенным, и поэтому аргумент типа для него не указывается. Это означает, что параметр Т, указываемый в объявлении обобщенного производного класса Gen, не требуется для указания базового класса NonGenи даже не может в нем использоваться. Следовательно, класс Gen наследует от класса NonGenобычным образом, т.е. без выполнения каких-то особых условий.

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

Интервал:

Закладка:

Сделать

Похожие книги на «C# 4.0: полное руководство»

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


Отзывы о книге «C# 4.0: полное руководство»

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