Файл: Отчет по лабораторной работе по дисциплине Объектноориентированный анализ и программирование.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 10.11.2023

Просмотров: 68

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования Российской ФедерацииФедеральное государственное бюджетное образовательноеучреждениевысшегообразования«ТОМСКИЙГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТСИСТЕМУПРАВЛЕНИЯИРАДИОЭЛЕКТРОНИКИ»(ТУСУР)Кафедраавтоматизацииобработкиинформации(АОИ)Лабораторная работа №1 «Классы»Отчетполабораторнойработеподисциплине«Объектно-ориентированныйанализипрограммирование»Студентгр.з-422П8-5Е. С. Саиспаев«22» мая 2023г.Руководительдоцент каф. АОИ,канд.техн.наук Ю.В.Морозова«22» мая 2023г.Томск2023Цель работыЦель работы: изучить структуру программ на основе использования объектно-ориентированного программирования, а также основные элементы структуры ООП: классы, объектыИндивидуальный вариантОпределить класс Matrix размерности nxn. Класс должен содержать несколько конструкторов. Реализовать методы вывода матрицы на экран, методы определения и получения размерности матрицы и самой матрицы.Алгоритм решения заданияСогласно заданию класс должен реализовывать следующие методы:

  1. Конструкторы

  2. Определения и получения размерности матрицы

  3. Определения и получения матрицы

  4. Вывод матрицы на экран
Соответственно, экземпляр класса «Матрица» должен иметь несколько свойств – размер матрицы и данные самой матрицы – 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, а также основные элементы работы с объектами и классами.