
Лабораторная работа №2. Классы и объекты
Цель работы: научиться создавать простые классы и объекты, а также уметь работать со строками в Java.
2.1 Пример создания класса и объекта
Класс CRectangle, который содержит свойства:
левая граница по оси Х (Left);
правая граница по оси Х (Right);
верхняя граница по оси Y (Top);
нижняя граница по оси Y (Bottom)
и методы:
конструктор, который присваивает значениям свойств случайные числа;
метод запроса у пользователя значений свойств прямоугольника;
определение площади фигуры и вывод ее на экран;
вывод на экран значений свойств.
В классе New_CRect создаются одиночные объекты и массив объектов класса CRectangle и вызываются методы, определенные в классе CRectangle,
Текст программы приведен в листинге 1.1, а результат выполнения программы рис. 1.1.
Листинг 2.1
Import java.Util.Random;
Import java.Util.Date;
Import java.Util.Scanner;
class CRectangle
{ private int Left; // левая граница по оси Х
private int Right; // правая граница по оси Х
private int Top; // верхняя граница по оси Y
private int Bottom; // нижняя граница по оси Y
public CRectangle()
{int i;
Random generator = new Random(new Date().getTime());
Left = generator.nextInt(500);
Right = generator.nextInt(500);
if (Left > Right) // проверка корректности данных
{ i = Right;
Right = Left;
Left = i;
}
Top = generator.nextInt(500);
Bottom = generator.nextInt(500);
if (Bottom > Top)
{ i = Bottom;
Bottom = Top;
Top = i;
}
}
public void Init() // метод запроса у пользователя значений
// свойств прямоугольника
{ int i;
Scanner in = new Scanner(System.in);
System.out.print("Enter Left value of rectangle (integer) ");
Left = in.nextInt();
System.out.print("Enter Right value of rectangle (integer) ");
Right = in.nextInt();
System.out.print("Enter Bottom value of rectangle (integer) ");
Bottom = in.nextInt();
System.out.print("Enter Top value of rectangle (integer) ");
Top = in.nextInt();
if (Bottom > Top) // проверка корректности данных
{ i = Bottom;
Bottom = Top;
Top = i;
}
if (Left > Right) // проверка корректности данных
{ i = Right;
Right = Left;
Left = i;
}
}
public void Square() // метод определения площади фигуры
{ int S;
S = (Right - Left) * (Top - Bottom);
System.out.println("Rectangle square is " + S) ;
}
public void PrintSv() // вывод на экран значений свойств
{ System.out.println("Left = " + Left);
System.out.println("Right = " + Right);
System.out.println("Top = " + Top);
System.out.println("Bottom = "+ Bottom);
}
}
public class New_CRect
{ public static void main(String[] args)
{ CRectangle Rect = new CRectangle ();
CRectangle [] a;
Rect.PrintSv();
Rect.Square(); //вывод значения площади определенного с помощью
// констуктора прямоугольника
System.out.println();
Rect.Init();
Rect.PrintSv(); // вывод свойств прямоугольника, введенных пользователем
Rect.Square(); // вычисление и вывод на экран площади прямоугольника,
// свойства которого были введены пользователем
System.out.println();
//создание массива объектов
a = new CRectangle [4];
for (int i = 0; i < 4; i++)
a[i] = new CRectangle();
//работа с массивом объектов
for (int i = 0; i < 4; i++)
{ int k = i+1;
System.out.println("Enter for " + k + " rectangle:");
a[i].Init();
a[i].Square();
System.out.println();
}
}
}
Рисунок 2.1 – Результат выполнения программы