Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РГТЭУ инфа экзамен.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
149.71 Кб
Скачать
  1. Передача параметров в java.

  2. Атрибуты класса

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

Все объекты одного и того же класса описываются одинаковыми наборами атрибутов. Однако объединение объектов в классы определяется не наборами атрибутов, а семантикой. Так, например, объекты "конюшня" и "лошадь" могут иметь одинаковые атрибуты: цена и возраст. При этом они могут относиться к одному классу, если рассматриваются в задаче просто как товар, либо к разным классам, если в рамках поставленной задачи будут использоваться по-разному, т.е. над ними будут совершаться различные действия.

Объединение объектов в классы позволяет рассмотреть задачу в более общей постановке. Класс имеет имя (например, "лошадь"), которое относится ко всем объектам этого класса. Кроме того, в классе вводятся имена атрибутов, которые определены для объектов. В этом смысле описание класса аналогично описанию типа структуры или записи (record), широко применяющихся в процедурном программировании; при этом каждый объект имеет тот же смысл, что и экземпляр структуры (переменная или константа соответствующего типа).

  1. Способы создания и обработка массивов данных

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

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

При создании массивов на основе примитивного числового типа изначально все элементы заполняются нулями, а логического типа Boolean значением false. При создании экземпляра массива с применением ключевого слова new создается объект массива заполненный пустым значением null. Далее необходимо инициализировать элементы массива по отдельности в цикле.

Вторым способом создания массивов является использование инициализаторов.Тогда ключевое слово new не используется, а в фигурных скобках через запятую перечисляются значения элементов массива.

Длина массива вычисляется автоматически ,а каждому элементу присваивается соответствующее значение.Аналогично можно порождать массивы на основе объектных типов.

Многомерные массивы создаются аналогично, но с использованием нескольких квадратных скобок. Int I [] [] = new int [3][5];

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

Во время выполнения приложения jvm генерирует объвления массивов динамически ,которые хранятся в памяти в виде экземпляров класса Class. Объявления класса начинается с модификаторов, соответствующих уровню доступа базового типа. Можно использовать модификатор final ,т.к. никакой класс не может наследоваться от класса массива. К типу массив обращение идет не по его имени ,а по имени базового типа.Далее перечисляются интерфейсы,реализуемые классом массив ,которыми обычно является Cloneable , Serializable.

По базовому типу массивы делят на основанные на примитивном или ссылочном типе. Преобразование между массивами и другими объектными типами возможны для класса object и этих интерфейсов. Правила преобразования : массив , основанный на типа a, можно привести к массиву, основанному на типе б, если см тип а приводится к типу б .При этом преобразование типа не порождает новые объекты.такие операции должны выполняться только явным образлм с применением ключевого слова new.Поэтому преобразование типов массивов , основанных на примитивных типах, запрещены.При необходимости копирование элементов массивов требуется создать новый массив и воспользоваться стандартной функцией System.arraycopy ()JVM при работе с массивами осуществляет дополнительную проверку и генерирует ошибку ArrayStoreException. Переменная типа массив примитивных величин может хранить значения такого же типа либо null. Переменная типа массив ссылочных величин хранит null; значения такого же типа; и все значения типа массив, основанных на типе приводимом к базовому.