Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы С++(1-31).doc
Скачиваний:
29
Добавлен:
24.09.2019
Размер:
113.15 Кб
Скачать
  1. Статические члены класса.

статическими могут быть методы и переменные. Если переменная объявлена как static, то она фактически глобальная переменная, причем экземпляры классов совместно используются.

Методы имеют ограничения:

- статические методы должны обращаться, только к статическим данным

- могут вызывать только другие статические методы

- нельзя использовать ключевое слово this

  1. Наследование. Класс Object. Использование super. Абстрактные классы.

наследование – это порождение нового класса на основе старого существующего. Порождение происходит с сохранением свойств и методов класса родителя.

Класс object находится на вершине иерархии классов java. Object явно или косвенно наследуется всеми классами, поэтому переменная типа object способна указывать на объект любого типа, будь то экземпляр какого – либо класса или массив.

Super – используется для вызова конструктора родительного класса, если нужно то вместо с аргументами (arg0, arg1). Эта строка должна стоять самой первой в каждом конструкторе.

Абстракция данных – это выделение характеристик объекта, которые отличают от других объектов и четко задают его границы. К примеру создание ООП программу для оптимизации работы склада важно учитывать вес контейнера, размер, его положении на складе.

  1. Переопределение методов. Динамический вызов методов. Полиморфизм.

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

Полиморфизм – это явление, при котором функции с одним и тем же именем соответствуют разный программный код в зависимости от того объект какого класса используется при вызове данного метода.

22 Вложенные классы

Все вложенные классы можно разделить на вложенные классы-члены класса (member classes), описанные вне методов, и вложенные локальные классы (local classes), описанные внутри методов и/или блоков. Локальные классы, как и все локальные переменные, не являются членами класса.

Классы-члены могут быть объявлены статическим модификатором static. Поведение статических классов-членов ничем не отличается от поведения обычных классов, отличается только обращение к таким классам. Поэтому они называются вложенными классами верхнего уровня (nestee tep-level classes), хотя статические классы-члены можно вкладывать друг в друга. В них можно объявлять статические члены. Используются они обычно для того, чтобы сгруппировать вспомогательные классы вместе с основным классом. Все нестатические вложенные классы называются внутренними (inner). В них нельзя объявлять статические члены. Локальные классы, как и все локальные переменные, известны только в блоке, в котором они определены. Они могут быть безымянными (anonymous classes).

  1. Интерфейсы. Использование интерфейсов для динамического вызова методов

ХЗ

  1. Сортировка выбором

Сортировка выбором — алгоритм сортировки, относящийся к неустойчивым алгоритмам сортировки. На массиве из n элементов имеет время выполнения в худшем, среднем и лучшем случае Θ(n2), предполагая что сравнения делаются за постоянное время.

Шаги алгоритма:

находим минимальное значение в текущем списке

производим обмен этого значения со значением на первой неотсортированной позиции

теперь сортируем хвост списка, исключив из рассмотрения уже отсортированные элементы.

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