Назад Зміст Вперед

Лабораторна робота: «Реалізація множинного наслідування через анонімні внутрішні класи»

public class Computer {
//є комп'ютер, який складається з процесора і оперативної пам'яті:
    class Processor {
        private boolean isStart = false;
        public void start() {
            isStart = true;
        }
        public void shutdown() {
            isStart = false;
        }
    }
    class RAM {
        private boolean isStart = false;
        public void start() {
            isStart = true;
        }
        public void shutdown() {
            isStart = false;
        }
    }  
    Processor i5 = new Processor();//екземпляр процесора
    RAM kingstone = new RAM();//екземпляр оперативної пам'яті
}
Так як комп'ютер дійсно складається з оперативної пам'яті і процесора, то обидва цих класах знаходяться всередині класу комп'ютер, при цьому ми створили екземпляри Proccessor і RAM. Для звернення до них слід використовувати точку після імені основного класу:


3
Computer computer new Computer 
computer. i5 . start 
computer. kingstone . start ;
Крім того, що клас можна оголосити всередині фігурних дужок основного класу, його можна написати всередині методу, тоді він буде видно тільки в ньому. 
Одним із прикладів таких класів можуть служити анонімні класиАнонімний клас - це клас, який не має імені. Він застосовується тільки якщо потрібно створити такий клас, який буде застосовуватися один раз в програмі. 
Для того, щоб створити об'єкт анонімного класу необхідно викликати конструктор його суперкласу, а потім в фігурних дужках перевизначити методи і поля, які необхідні для нього. 
Припустимо у вас на роботі з'явився один супер комп'ютер. Він такий один і таких скоріше за все більше не буде, тоді можна створити його як анонімний клас.
Завдання.Створити анонімний клас такого супер комп'ютера.

.