Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Разработка и использование интерфейсов




Вариант 5: Разработать иерархию геометрических фигур (не менее 3-х дочерних классов) с базовым класом  Shape. Базовый класс содержит одну координату для вывода фигур на экран и виртуальные методы Square() и Perimetr(), которые подсчитают площадь и периметр фигуры соответственно. Дочерние классы (например, линия, прямоугольник и окружность) должны содержать параметры фигуры, по которым их можно нарисовать и рассчитать площадь и периметр. В методе main создать массив из 8 указателей на Shape и заполнить его объектами производных классов. Вывести на экран величину S и P для всех объектов. В массив вносить только уникальные объекты.

Вариант 6: см. вариант 1, модифицированный для классов: Машина (Car) с полями " Марка", " год", " объем двигателя", " тип коробки передач", " базовое значение страхового сбора" – base,  и функцией расчета страхового сбора для дочерних классов " Иномарка" – InBrand - base+0, 05*year*volume, " Отечественный бренд" - HomeBrand:  base+0, 03*year*volume.  Каждый производный класс должен иметь конструктор с несколькими параметрами, передающий свои параметры конструктору базового класса. В методе main создать массив из 7 указателей на Car и заполнить его объектами производных классов. Вывести на экран величину страхового сбора для всех объектов. В массив вносить только уникальные объекты.

 

2. 5. 1. Требования к отчету

1. Привести UML-диаграмму и текст программы. Классы должны находиться в разных файлах.


ЛАБОРАТОРНАЯ РАБОТА 3

Разработка и использование интерфейсов

3. 1. Общие сведения об  интерфейсах

Понятие интерфейса в Java. Описание интерфейса

Интерфейс представляет собой " класс", в котором все поля — константы (т. е. статические — static и неизменяемые — final ), а все методы абстрактные.

При описании интерфейса вместо ключевого слова class используется ключевое слово interface, после которого указывается имя интерфейса, а затем, в фигурных скобках список полей-констант и методов. Никаких модификаторов перед объявлением полей и методов ставить не надо: все поля автоматически становятся publicstaticfinal, а методы — publicabstract. Методы не могут иметь реализации в самом интерфейсе, т. е. после закрывающей круглой скобки сразу ставится точка с запятой.

Пример 3. 1.

Необходимо разработать иерархию классов и интерфейсов согласно следующей UML-диаграмме:         

Опишем сначала интерфейс для объекта, который необходимо передвигать в разных направлениях.

 

public interface Movable {

 public void moveRight(int p);

public void moveLeft(int p);

public void moveUp(int p);

public void moveDown(int p);

}

 

Теперь создадим класс Figure,  который будет использовать интерфейс Movable и интерфейс GeometricObject:

 

public class Figure implements Moveable, GeometricObject {

private int x, y; // координаты размещения объекта на плоскости

// constructor

public Fifure(int nx, int ny) {

setCoords(nx, ny);                                                      

}

 

// Implement methods defined in the interface GeometricObject

@Override public void moveRight(int p) {...... }

}

Задание 3. 1:

Ориентируясь на диаграмму из примера  и свой вариант выполнить следующие действия:

 

3. 1. Написать интерфейс GeometricObject, который объявляет абстрактные методы: getParameter() and getArea(), как указано в диаграмме UML.

3. 2. Добавить интерфейс Movable из примера выше, который декларирует передвижение объекта вверх, вниз, влево вправо и меняет его координаты соответственно.

3. 3. Разработать иерархию классов, согласно варианту (класс Figure у Вас будет называться Circle, Rectangle или Triangle – согласно варианту и иметь соответствующие члены данных). В классе должны быть сведения о координатах объекта на плоскости и необходимые геометрические параметры.

 

Результат работы программы, (только для вашей фигуры):

 

At (10, 20) Drawing a Rectangle: Width 5, Height 6At (110, 120) Drawing a Rectangle: Width 5, Height 6 Move Left 100. New position (110, 20)Resize 20% Drawing a Rectangle: Width 6, Height 7. 2RectanglePerimrter: 26. 4RectangleAria: 43. 2 At (15, 25) Drawing a Circle: Radius 8Move Right 10. New position (15, 35) Resize 50% Drawing a Circle: Radius 12CirclePerimrter: 75. 36CircleAria: 452, 16

 

Варианты:

Фигура - круг
Фигура – прямоугольник
Фигура - треугольник

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...