Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы Рыков.docx
Скачиваний:
103
Добавлен:
21.04.2015
Размер:
305.38 Кб
Скачать

29. Сигнатура метода. Перегрузка методов.

Сигнатура - совокупность имени метода с набором параметров. Причем возвращаемое значение не входит в сигнатуру, а порядок следования параметров - входит (т.е. doSmth(String s, int i) и doSmth(int i, String s) вполне законные методы с разными сигнатурами).

Метод называется перегруженным, если существует несколько его версий с одним и тем же именем, но с различным списком параметров. Перегрузка реализует «раннее связывние». Перегрузка может ограничиваться одним классом. Методы с одинаковыми именами, но с различающимися списком параметров и возвращаемыми значениями могут находиться в разных классах одной цепочки наследования и также будут являться перегруженными. Если в последнем случае списки параметров совпадают, то имеет место другой механизм – переопре­деление метода.

30. Процедурное программирование. Объектно ориентированное программирование. Сравнение парадигм.

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

Объектно-ориентированное программирование оперирует объектами и классами. Эта парадигма развилась из процедурного программирования, в котором алгоритмы и субъекты применения алгоритмов (память, регистры и т.п.) не были связаны. В центре работы ООП программы находится понятие объекта. Объект, это сущьность, которой можно посылать сообщения. Объект обрабатывает эти сообщения с помощью собственных данных и данных, переданных с параматрами сообщения. Данные объекта отделены от остальной программы. Как вы, наверное, догадались – отсылка сообщения объекту эквивалентна вызову его метода.

31.Иерархия классов Java. Коренной класс Object и его методы.

Классы в Java-коде находятся в иерархиях. Классы, которые по иерархии находятся выше данного класса, называютсясуперклассами этого класса. Каждый конкретный класс является подклассом каждого класса, расположенного в иерархии выше его. Подкласс наследует свойства своего суперкласса. Класс java.lang.Object находится в вершине иерархии классов, то есть каждый класс Java является подклассом Object и наследует его свойства.

32. Исключительные ситуации. Обработка исключительных ситуаций.

Исключительная ситуация возникает при выполнении некорректной математической операции, такой как деление на ноль. Потенциально любой оператор программы может стать причиной исключительной ситуации. Исключение является объектом некоторого класса, являющегося представлением исключительного случая. Код, обнаруживший ошибку, генерирует объект инструкций throw. Фрагмент кода выражает своё желание обрабатывать исключение при помощи инструкции catch. Результатом генерации исключения инструкцией throw является раскручивание стека до тех пор, пока не будет обнаружен подходящий catch в функции, которая непосредственно или косвенно вызвала функцию, сгенерировавшую исключение. В отсутствие собственного механизма обработки исключений для прикладных программ наиболее общей реакцией на любую исключительную ситуацию является немедленное прекращение выполнения с выдачей пользователю сообщения о характере исключения.

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

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

  • Обработка с возвратом подразумевает, что обработчик исключения ликвидирует возникшую проблему и приводит программу в состояние, когда она может работать дальше по основному алгоритму. В этом случае после того, как выполнится код обработчика, управление передаётся обратно в ту точку программы, где возникла исключительная ситуация и выполнение программы продолжается

  • Обработка без возврата заключается в том, что после выполнения кода обработчика исключения управление передаётся в некоторое, заранее заданное место программы, и с него продолжается исполнение. То есть, фактически, при возникновении исключения команда, во время работы которой оно возникло, заменяется на безусловный переход к заданному оператору.