Книга: C# для профессионалов. Том II

Ссылочные типы

Ссылочные типы

Ссылочные типы хранят ссылку на данные, которые существуют в куче. Только адреса памяти хранимых объектов сохраняются в стеке. Тип объекта, массивы, интерфейсы тип класса и делегаты являются ссылочными типами. Объекты, классы и отношения между ними не отличаются в Java и C#. Интерфейсы и их использование также похожи в обоих языках. Одно из основных различий, которое, вероятно, уже встречалось, состоит в том, что C# не имеет ключевых слов extends и implements. Оператор двоеточия (:) заменяет оба ключевых слова Java, и, как было показано ранее, директива using аналогична инструкции Java import. Строки тоже используются одинаково в C# и Java. C# вводит также новый тип ссылочного типа называемого делегатом. Делегаты представляют безопасную, с точки зрения типов, версию указателей функций. Они будут рассмотрены позже в этой главе.

Массивы

C# поддерживает "неровные" массивы и добавляет многомерные массивы. Может сбить с толку то, что Java не делает между ними различий:

int [] х = new int[20]; // как в Java, только [] должны следовать
                        // за типом
int [,] у = new int[12, 3]; // то же самое, что int у[] [] = new
                            // int[12][3];
int[][] z = new int[5][]; // то же самое, что и int x[][] = new
                          // int [5][];

Примечание. Ключевое слово int[] обозначает реальный тип данных, поэтому синтаксически оно записывается таким образом. Нельзя, как в Java, поместить двойные скобки перед или после переменной. Прежде чем перейти к дополнительным деталям о ссылочных типах и обсуждению таких концепции, как классы, давайте поговорим немного об операциях. Следующий раздел посвящен операторам.

Оглавление книги


Генерация: 0.833. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз