- •Е.Б. Юдин Объектно-ориентированное программирование на языке java
 - •Введение
 - •Лабораторные работы Лабораторная работа №1 – Разработка консольного приложения
 - •Класс StringTokenizer. .Лексический анализ текста
 - •Регулярные выражения
 - •Задания к лабораторной работе №1
 - •Лабораторная работа №2 Разработка визуального приложения.
 - •Задания к лабораторной работе №2
 - •Лабораторная работа № 3 Построение объектно-ориентированного приложения
 - •Шаблоны проектирования
 - •Библиотека Jung
 - •Средства визуализации
 - •Значимости
 - •Задания к лабораторной работе №3
 - •Вопросы по синтаксису языка и объектно-ориентированному программированию
 - •Синтаксис и семантика языка
 - •Вопрос 1: Каков будет результат выполнения программы
 - •Вопрос 2: Приведенная ниже программа должна вывести на консоль Hello World! Выберите строки, которые нужно модифицировать в вашей программе, что бы получить правильный результат.
 - •Вопрос 3: Какая строка будет выдана на консоль после выполнения фрагмента кода
 - •Вопрос 4: Дан код:
 - •Вопрос 6: Дан код:
 - •Вопрос 7:
 - •Вопрос 8: Дан код:
 - •Вопрос 9: Дан код:
 - •Вопрос 10: Дан код:
 - •Вопрос 11: Какие из следующих утверждений истинные?
 - •Вопрос 12: Дан код:
 - •Вопрос 13: Какие из объявлений корректны, если:
 - •Вопрос 14: Что будет выведено в результате компиляции и выполнения следующего кода:
 - •Вопрос 15: Корректен ли следующий код? Если нет, то какие исправления можно предложить?
 - •Вопрос 16: Корректно ли следующее обращение к переменной X?
 - •Вопрос 17: Можно ли при переопределении некоторого абстрактного метода perform()
 - •Вопрос 18
 - •Вопрос 19
 - •Вопрос 20: Какие объекты могут быть клонированы?
 - •Создание визуальных приложений
 - •Вопрос 1
 - •Вопрос 2
 - •Вопрос 3
 - •Вопрос 4
 - •Вопрос 5
 - •Вопрос 6
 - •Вопрос 6
 - •Вопрос 7
 - •Вопрос 8
 - •Вопрос 9
 - •Вопрос 10
 - •Вопрос 11
 - •Вопрос 12
 
Вопрос 19
Какие действия необходимо предпринять для установления TCP соединения между
двумя Java-приложениями?
Ответ: Во-первых, на стороне сервера надо создать экземпляр класса Server-
Socket с указанием порта, и затем вызвать у этого объекта метод accept().
При входе в этот метод поток исполнения приостанавливает свою работу
в ожидании подключения клиента.
Клиенту необходимо создать экземпляр класса Socket с указанием IP-
адреса и порта сервера. После успешного выполнения конструктора на
стороне сервера метод accept() вернет экземпляр класса Socket для
взаимодействия двух приложений.
Вопрос 20: Какие объекты могут быть клонированы?
Ответ: Если клонирование производится встроенным методом Object.clone(), то
такие классы необходимо специальным образом помечать, указывая, что
они реализуют интерфейс Cloneable. Кроме этого, класс может
переопределить метод clone() собственным образом, и обойтись без этого
интерфейса
Создание визуальных приложений
Вопрос 1
Дан код
import java.awt.*;
public class Quest2 extends Frame{
Quest2(){
Button yes = new Button("YES");
Button no = new Button("NO");
add(yes);
add(no);
setSize(100, 100);
setVisible(true);
}
public static void main(String[] args){
Quest2 q = new Quest();
} }
В результате при компиляции и запуска будет выведено:
a Две кнопки рядом, занимающие весь фрейм, YES слева и NO справа
b Одна кнопка YES, занимающая целый фрейм
c Одна кнопка NO, занимающая целый фрейм
d Две кнопки наверху фрейма, YES и NO
Ответ: с
Пояснение: по умолчанию у Frame менеджер компоновки BorderLayout а у BorderLayout если не указан второй аргумент, то элемент является BorderLayout.CENTER.
Вопрос 2
Какой менеджер компоновок размещает компоненты в таблице с ячейками равного размера?
a. FlowLayout
b. GridLayout
c. BorderLayout
d. CardLayout
Ответ: b
FlowLayout – менеджер поточной компоновки. CardLayout создает вкладки, содержимое которых отображается при выполнении щелчка на заголовке. BorderLayout позволяет позиционировать элементы в областях фиксированного размера, граничащих со сторонами фрейма, которые обозначаются параметрами: NORTH, SOUTH, EAST, WEST. Остальное пространство обозначается как CENTER. GridLayout разделяет фрейм на заданное количество рядов и колонок.
Вопрос 3
Какое выравнивание устанавливается по умолчанию для менеджера размещений FlowLayout?
а. Указывается явно
b. FlowLayout.RIGHT
c. FlowLayout.LEFT
d. FlowLayout.CENTER
e. FlowLayout.LEADING
Ответ: c
Вопрос 4
Cколько кнопок будет выведено в апплет:
import java.applet.*;
import java.awt.*;
public class Quest4 extends Applet{
Button b = new Button("Yes");
public void init(){
add(b);
add(b);
add(b);
add(new Button("No"));
add(new Button("No"));
add(new Button("No"));
}}
a. 1 кнопка с надписью ''Yes'' и 1 кнопка с надписью ''No''
b. 1 кнопка с надписью ''Yes'' и 3 кнопки с надписью ''No''
c. 3 кнопки с надписью ''Yes'' и 1 кнопка с надписью ''No''
d. 3 кнопки с надписью ''Yes'' и 3 кнопки с надписью ''No''
Ответ b
Пояснение: Команда add(b), вызванная во второй раз, пытается добавить на аплет уже существующий там объект. Команда add(new Button("No")) каждый раз добавляет новый объект
