Delphi | Сети | ПК | Маршрутизаторы | Моделирование | Протоколы | Экспертные системы | Удаленный доступ | Доменные имена
Аплеты | SQL | Надежность | Задачи | Информационные процессы | JAVA | Отказы изделия | Расчет надежности показателей | Инфсис

Принципы построения графического интерфейса в Java

Абстрактные классы и интерфейсы Абстрактным называется класс, который содержит хотя бы один абстрактный метод. Абстрактный метод содержит только описание (заголовок с параметрами), но не содержит тела метода. И в определении класса, и в описании метода нужно указывать ключевое слово abstract.

Иерархия классов AWT

На рис. 8.2 показана иерархия основных классов AWT. Основу ее составляют готовые компоненты: Button, Canvas, Checkbox, Choice, Container, Label, List, Scrollbar, TextArea, TextField, Menubar, Menu, PopupMenu, Menultem, CheckboxMenuItem. Если этого набора не хватает, то от класса Canvas можно породить собственные "тяжелые" компоненты, а от класса Component — "легкие" компоненты.

Основные контейнеры — это классы Panel, ScrollPane, Window, Frame, Dialog, FileDialog. Свои "тяжелые" контейнеры можно породить от класса Panel, а "легкие" — от класса container.

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

На рис. 8.2 показаны и начальные классы иерархии библиотеки Swing — классы JComponent, JWindow, JFrame, JDialog, JApplet.

Рис. 8.2. Иерархия  основных классов AWT

Полиморфизм

Полиморфизм представляет собой характеристику, которая присуща только настоящим объектно-ориентированным языкам. Суть полиморфизма состоит в том, что тип объекта, к которому мы обращаемся, иногда может определяться только на этапе выполнения (это называют также поздним, или динамическим связыванием).


Продолжим рассмотрение примера с геометрическими фигурами из прошлой темы. В нашем примере одна и та же переменная типа Figure (это абстрактный класс!) в зависимости от сгенерированной случайной величины может ссылаться как на объект производного класса Circle, так и на объект производного класса Square. В базовом классе заданы основные переменные и абстрактные методы - заготовки для будущего поведения объектов производных классов.

abstract class Figure
{
public int x, y, width, height;

public Figure(int x, int y, int width, int height)
{
this.x=x;
this.y=y;
this.width=width;
this.height=height;
}
abstract double getArea();
abstract double getPerimeter();
abstract void show(Graphics g);
}

 

Математический анализ, лекции по физике Компьютерные сети