Читайте также:
|
|
Объект — это конкретная сущность, основанная на классе и иногда называемая экземпляром класса. Объекты можно создавать с помощью ключевого слова new, за которым следует имя класса, на котором будет основан объект:
Customer object1 = new Customer();
При создании экземпляра класса ссылка на этот объект передается программисту. В предыдущем примере object1 является ссылкой на объект, основанный на Customer. Эта ссылка указывает на новый объект, но не содержит данные этого объекта. Фактически, можно создать ссылку на объект без создания самого объекта:
Customer object2;
Создание таких ссылок, которые не указывают на объект, не рекомендуется, так как попытка доступа к объекту по такой ссылке приведет к сбою во время выполнения. Однако такую ссылку можно сделать указывающей на объект, создав новый объект или назначив ее существующему объекту
Customer object3 = new Customer();
Customer object4 = object3;
В данном коде создаются две ссылки на объекты, которые указывают на один объект. Поэтому любые изменения объекта, выполненные посредством object3, будут видны при последующем использовании object4. Поскольку на объекты, основанные на классах, указывают ссылки, классы называют ссылочными типами.
Как это ни покажется странным, но в С# допускается объявлять переменные ссылочного интерфейсного типа, т.е. переменные ссылки на интерфейс. Такая переменная может ссылаться на любой объект, реализующий ее интерфейс. При вызове метода для объекта посредством интерфейсной ссылки выполняется его вариант, реализованный в классе данного объекта. Этот процесс аналогичен применению ссылки на базовый класс для доступа к объекту производного класса.
Переменной ссылки на интерфейс доступны только методы, объявленные в ее интерфейсе. Поэтому интерфейсную ссылку нельзя использовать для доступа к любым другим переменным и методам, которые не поддерживаются объектом класса, реализующего данный интерфейс.
Переменные ссылочных типов, называемые объектами, сохраняют ссылки на фактические данные. В данном разделе описаны следующие ключевые слова, используемые для объявления ссылочных типов:
· Class;
· Interface;
· Deleg.
14. Массивы: одномерные, многомерные, невыровненые, массивы объектов.
Хранение группы связанных элементов данных является основным требованием большинства программных приложений. Для этого существуют два основных способа: массивы и коллекции.
Индексный массив — именованный набор однотипных переменных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу.
Коллекция в программировании — программный объект, содержащий в себе, тем или иным образом, набор значений одного или различных типов, и позволяющий обращаться к этим значениям.
Массивы являются коллекциями объектов одного типа. Поскольку длина массивов практически не ограничена, они могут использоваться для хранения тысяч или даже миллионов объектов, но размер массива должен быть указан при его создании. Каждый элемент массива доступен по числовому индексу, указывающему позицию или ячейку, в которой объект хранится в массиве. Массивы могут хранить как ссылочные типы, так и типы значений. Массив является индексированной коллекцией объектов.
Одномерный массив объектов объявляется следующим образом:
тип_элемента[] имя_массива;
int[] myArray1;
int[] massiv1 = new int[12];
Здесь между разделителями [ и ] находится константное выражение, значение которого определяет размерность массива. Значение по умолчанию числовых элементов массива задано равным нулю, а элементы ссылок имеют значение null, но значения можно инициализировать при создании массива следующим образом:
int[] myArray2 = new int[] {7, 13, 4, 2};
int[] myArray3 = {5, 9, 3, 17, 9};
Можно создавать массивы из строк:
string[] days = {"Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat"};
Индексация массивов начинается с нуля, поэтому номер первого элемента массива равен 0. Обращение к элементу массива осуществляется через квадратные скобки [ и ].
myArray2[2]=17;
Пример: Написать программу, осуществляющую ввод целых чисел в массив. Из полученного массива распечатать элементы превышающие среднее арифметическое всего массива.
//описываем необходимые переменные
Дата добавления: 2015-02-16; просмотров: 90 | Поможем написать вашу работу | Нарушение авторских прав |
|