Начинаем программировать на языке Java


Абстрактные классы - часть 2


Другой часто приводимый пример - программа рисования геометрических фигур. Есть некоторая программа, задача которой состоит в рисовании точки, круга и квадрата. На ее примере мы и рассмотрим, как создавать абстрактные классы Java. Для начала создадим абстрактный класс Shape - предок всех фигур. Для каждой фигуры потребуются одинаковые данные: цвет (Color) и начальная точка (StartPoint). Чтобы нарисовать фигуру, необходимо создать метод Draw. Как вы, наверное, уже поняли, метод Draw абстрактного класса Shape будет пустым. Непосредственной его реализацией займется класс каждой фигуры. Для объекта класса "Точка" (Point) нужно нарисовать точку, для объекта класса "Круг" (Circle) - круг, а для объекта класса "Квадрат" (Square) - квадрат.

На языке Java абстрактный класс Shape будет описан следующим образом:

// Абстрактный класс "Фигура" abstract public class Shape { // Цвет фигуры int Color;

// Начальная точка фигуры Coordinates StartPoint;

// Нарисовать фигуру abstract public void Draw(); }

Обратите внимание на модификатор abstract в описании класса Shape и его метода Draw. Этим модификатором необходимо отмечать все абстрактные методы и классы. На тип Coordinates не обращайте внимания. Он взят лишь для примера. Предполагается, что где-то ранее он был описан как тип для задания координат x и y фигуры.

Теперь унаследуем от класса Shape необходимые нам классы фигур.

// Конкретный класс "Точка" class Point extends Shape { // Цвет точки int Color;

// Координаты точки Coordinates StartPoint;

// Нарисовать точку public void Draw() { // Здесь рисуется точка } } // Конкретный класс "Круг" class Circle extends Shape { // Цвет круга int Color;

// Координаты центра круга Coordinates StartPoint;

// Нарисовать круг public void Draw() { // Здесь рисуется круг } }

// Конкретный класс "Квадрат" class Square extends Shape { // Цвет квадрата int Color;

// Координаты верхнего левого угла Coordinates StartPoint;




Начало  Назад  Вперед



Книжный магазин