|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Добавлен вопрос со свободным ответомдобавлен Drag&Drop Добавлен вопрос на соответствие При запуске приложения происходит объявление объекта unique c применением анонимного класса, в котором переопределяется метод addNewType(). Вызов данного метода на объекте unique приводит к вызову версии метода из анонимного класса, который компилируется в объектный модуль с именем Для перечисления объявление анонимного внутреннего класса выглядит несколько иначе, так как инициализация всех элементов происходит при первом обращении к типу. Поэтому и анонимный класс реализуется только внутри объявления типа enum, как это сделано в следующем примере. /* пример # 16: анонимный класс в перечислении: EnumRunner.java */ package chapt06;
enum Shape { RECTANGLE, SQUARE, TRIANGLE { // анонимный класс public double getSquare() { // версия для TRIANGLE return a*b/2; } }; public double a, b;
public void setShape(double a, double b){ if ((a<=0 || b<=0) || a!=b && this == SQUARE) throw new IllegalArgumentException(); Else this. a = a; this. b = b; } public double getSquare(){ // версия для RECTANGLE и SQUARE return a * b; } public String getParameters() { return "a=" + a + ", b=" + b; } } public class EnumRunner { public static void main(String[] args) { int i = 4; for (Shape f: Shape. values ()) { f.setShape(3, i--); System. out. println(f.name()+"-> " + f.getParameters() + " площадь= " + f.getSquare()); } } } В результате будет выведено: RECTANGLE-> a=3.0, b=4.0 площадь= 12.0 SQUARE-> a=3.0, b=3.0 площадь= 9.0 TRIANGLE-> a=3.0, b=2.0 площадь= 3.0 Объектный модуль для такого анонимного класса будет скомпилирован Задания к главе 6 Вариант А 1. Создать класс Notepad (записная книжка) с внутренним классом или классами, с помощью объектов которого могут храниться несколько записей на одну дату. 2. Создать класс Payment (покупка) с внутренним классом, с помощью объектов которого можно сформировать покупку из нескольких товаров. 3. Создать класс Account (счет) с внутренним классом, с помощью объектов которого можно хранить информацию обо всех операциях со счетом (снятие, платежи, поступления). 4. Создать класс Зачетная Книжка с внутренним классом, с помощью объектов которого можно хранить информацию о сессиях, зачетах, экзаменах. 5. Создать класс Department (отдел фирмы) с внутренним классом, с помощью объектов которого можно хранить информацию обо всех должностях отдела и обо всех сотрудниках, когда-либо занимавших конкретную должность. 6. Создать класс Catalog (каталог) с внутренним классом, с помощью объектов которого можно хранить информацию об истории выдач книги читателям. 7. Создать класс СССР с внутренним классом, с помощью объектов которого можно хранить информацию об истории изменения территориального деления на области и республики. 8. Создать класс City (город) с внутренним классом, с помощью объектов которого можно хранить информацию о проспектах, улицах, площадях. 9. Создать класс CD (mp3-диск) с внутренним классом, с помощью объектов которого можно хранить информацию о каталогах, подкаталогах 10. Создать класс Mobile с внутренним классом, с помощью объектов которого можно хранить информацию о моделях телефонов и их свойствах. 11. Создать класс Художественная Выставка с внутренним классом, 12. Создать класс Календарь с внутренним классом, с помощью объектов которого можно хранить информацию о выходных и праздничных днях. 13. Создать класс Shop (магазин) с внутренним классом, с помощью объектов которого можно хранить информацию об отделах, товарах и услуг. 14. Создать класс Cправочная Cлужба Oбщественного Tранспорта 15. Создать класс Computer (компьютер)с внутренним классом, с помощью объектов которого можно хранить информацию об операционной системе, процессоре и оперативной памяти. 16. Создать класс Park (парк) с внутренним классом, с помощью объектов которого можно хранить информацию об аттракционах, времени их работы и стоимости. 17. Создать класс Cinema (кино) с внутренним классом, с помощью объектов которого можно хранить информацию об адресах кинотеатров, фильмах и времени сеансов. 18. Создать класс Программа Передач с внутренним классом, с помощью объектов которого можно хранить информацию о названии телеканалов и программ. 19. Создать класс Фильм с внутренним классом, с помощью объектов которого можно хранить информацию о продолжительности, жанре и режиссерах фильма. Вариант B В заданиях варианта В главы 4 в одном из классов для сокрытия реализации использовать внутренний или вложенный класс. Для определения уникального поведения объекта одного из классов использовать анонимные классы. Вариант C Реализовать абстрактные классы или интерфейсы, а также наследование и полиморфизм для следующих классов: 1. Абстрактный класс Книга (Шифр, Автор, Название, Год, издательство). Подклассы Справочник и Энциклопедия. 2. interface Абитуриент ß abstract class Студент ß class Студент-Заочник. 3. interface Сотрудник ß class Инженер ß class Руководитель. 4. interface Здание ß abstract class Общественное Здание ß class Театр. 5. interface Mobile ß abstract class Siemens Mobile ß class Model. 6. interface Корабль ß abstract class Военный Корабль ß class Авианосец. 7. interface Врач ß class Хирург ß class Нейрохирург. 8. interface Корабль ß class Грузовой Корабль ß class Танкер. 9. interface Мебель ß abstract class Шкаф ß class Книжный Шкаф. 10. interface Фильм ß class Отечественный Фильм ß class Комедия. 11. interface Ткань ß abstract class Одежда ß class Костюм. 12. interface Техника ß abstract class Плеер ß class Видеоплеер. 13. interface Транспортное Средство ß abstract class Общественный Транспорт ß class Трамвай. 14. interface Устройство Печати ß class Принтер ß class Лазерный Принтер. 15. interface Бумага ß abstract class Тетрадь ß class Тетрадь Для Рисования. 16. interface Источник Света ß class Лампа ß class Настольная Лампа. Тестовые задания к главе 6 Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.009 сек.) |