Файл: Отчет по лабораторной работе по дисциплине Объектноориентированный анализ и программирование.docx
Добавлен: 10.11.2023
Просмотров: 11
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра автоматизации обработки информации (АОИ)
Лабораторная работа №1 «Классы»
Отчет по лабораторной работе по дисциплине
«Объектно-ориентированный анализ и программирование»
Студент гр. з-422П8-5
Е. С. Саиспаев
«22» мая 2023 г.
Руководитель доцент каф. АОИ, канд. техн. наук
Ю. В. Морозова
«22» мая 2023г.
Томск 2023
Цель работы
Цель работы: изучить структуру программ на основе использования объектно-ориентированного программирования, а также основные элементы структуры ООП: классы, объекты
Индивидуальный вариант
Определить класс Matrix размерности nxn. Класс должен содержать несколько конструкторов. Реализовать методы вывода матрицы на экран, методы определения и получения размерности матрицы и самой матрицы.
Алгоритм решения задания
Согласно заданию класс должен реализовывать следующие методы:
-
Конструкторы -
Определения и получения размерности матрицы -
Определения и получения матрицы -
Вывод матрицы на экран
Соответственно, экземпляр класса «Матрица» должен иметь несколько свойств – размер матрицы и данные самой матрицы – int n, int[][] matrix.
class Matrix{
int nxn;
int[][] matrix;
}
Реализуем методы для их получения:
public int getSize(){
return this.nxn;
}
public int[][] getMatrix(){
return this.matrix;
}
Для определения данных экземпляра класса «Матрица» реализованы следующие методы:
private int setSize(int n){
this.nxn = n;
this.matrix = new int[n][n];
return n;
}
private int[][] setMatrix(int[][] data){
for (int i = 0; i < this.nxn; i++) {
if(data[i].length != this.nxn){
System.out.println("Matrix size is not equal to matrix size property");
}
}
this.matrix = data;
return this.matrix;
}
Для вывода матрицы реализован метод printMatrix:
public void printMatrix(){
for (int i = 0; i < this.nxn; i++) {
for (int j = 0; j < this.nxn; j++) {
System.out.print(this.matrix[i][j]);
}
System.out.print("\n");
}
}
Для реализации конструкторов класса можно воспользоваться уже реализованными методами. Реализуем несколько конструктов – для инициализации объекта класса Matrix с размером n и для инициализации объекта с готовым набором данных о матрице:
public Matrix(int n){
this.setSize(n);
}
public Matrix(int[][] matrixData){
this.setSize(matrixData.length);
this.setMatrix(matrixData);
}
Текст программы
class Matrix{
int nxn;
int[][] matrix;
public Matrix(int n){
this.setSize(n);
}
public Matrix(int[][] matrixData){
this.setSize(matrixData.length);
this.setMatrix(matrixData);
}
public int getSize(){
return this.nxn;
}
private int setSize(int n){
this.nxn = n;
this.matrix = new int[n][n];
return n;
}
public int[][] getMatrix(){
return this.matrix;
}
private int[][] setMatrix(int[][] data){
for (int i = 0; i < this.nxn; i++) {
if(data[i].length != this.nxn){
System.out.println("Matrix size is not equal to matrix size property");
}
}
this.matrix = data;
return this.matrix;
}
public void printMatrix(){
for (int i = 0; i < this.nxn; i++) {
for (int j = 0; j < this.nxn; j++) {
System.out.print(this.matrix[i][j]);
}
System.out.print("\n");
}
}
}
public class Main {
public static void main(String[] args) {
int n = 3;
int[][] elements = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
Matrix matrix1 = new Matrix(n);
Matrix matrix2 = new Matrix(elements);
System.out.println("Matrix 1:");
System.out.println("Matrix 2:");
matrix2.printMatrix();
int size = matrix2.getSize();
System.out.println("Matrix size: " + size);
}
}
Результат выполнения программы:
Вывод:
В ходе данной лабароторной работы я изучил основы работы с объектно-ориентированным языком программирования Java, а также основные элементы работы с объектами и классами.