Лабораторная работа №3 По дисциплине: Объектно-ориентированный анализ и программирование Тема: Коллекции объектов
Состав работы
|
|
Работа представляет собой файл, который можно открыть в программе:
- Microsoft Word
Описание
Тема: Коллекции объектов
Задание: преобразование структуры программы для представления информации о наборе объектов. Расширение программы должно включать обязательные элементы объявления и создания коллекции для хранения набора объектов и добавление в коллекцию нескольких объектов. Также для каждого элемента коллекции необходимо выполнить обращение к методу объекта.
Рекомендации к выполнению:
Для преобразования программы необходимо выполнить следующие основные изменения:
- в главный класс-предок необходимо добавить переменную коллекцию (ArrayList)
- в конструкторе класса данную переменную необходимо создать (оператор new)
- в процессе добавления элементов необходимо использовать метод add для добавления нового объекта в коллекцию.
Пример:
import java.util.*;
public class lab {
public static void main (String args[]) {
ComKlass klass = new ComKlass();
Computer comp1 = new Computer();
Computer comp2 = new Computer();
klass.AddComputer(comp1);
klass.AddComputer(comp2);
for(int i=0;i<klass.GetComputerList().size();i++) {
((Computer)klass.GetComputerList().get(i)).GetDataFromKeyBoard();
((Computer)klass.GetComputerList().get(i)).ShowMousePosition();
}
}
}
class ComKlass {
private ArrayList computers;
ComKlass() {
computers = new ArrayList();
}
void AddComputer(Computer c) {
computers.add(c);
}
ArrayList GetComputerList() {
return computers
}
}
class Computer {
private int id;
Mouse mouse;
KeyBoard keyboard;
Computer() {
mouse = new Mouse();
keyboard = new KeyBoard();
}
void GetDataFromKeyBoard() {
keyboard.GetKey();
}
void ShowMousePosition() {
mouse.GetPosition();
}
}
class Mouse {
private int x,y;
void GetPosition() {
System.out.println("Mouse.GetPosition()");
}
void SetPosition(int x, int y) {
this.x = x;
this.y = y;
}
}
class KeyBoard {
private char key;
void SetKey(char k) {
this.key = k;
}
char GetKey() {
System.out.println("KeyBoard.GetKey()");
return key;
}
}
В изложенном выше примере для создания компьютерного класса и запуска программы был использован класс lab, имеющий статический метод main. После создания нового экземпляра объекта «компьютер», переменная помещается в коллекцию с помощью вызова метода AddComputer. Внутри коллекции происходит циклический перебор всех ее элементов с явным приведением типа объекта к Computer и вызов методов класса, в методе класса для вывода на экран информации о работе данного элемента структуры выводится строка с текстом имени метода.
Задание: преобразование структуры программы для представления информации о наборе объектов. Расширение программы должно включать обязательные элементы объявления и создания коллекции для хранения набора объектов и добавление в коллекцию нескольких объектов. Также для каждого элемента коллекции необходимо выполнить обращение к методу объекта.
Рекомендации к выполнению:
Для преобразования программы необходимо выполнить следующие основные изменения:
- в главный класс-предок необходимо добавить переменную коллекцию (ArrayList)
- в конструкторе класса данную переменную необходимо создать (оператор new)
- в процессе добавления элементов необходимо использовать метод add для добавления нового объекта в коллекцию.
Пример:
import java.util.*;
public class lab {
public static void main (String args[]) {
ComKlass klass = new ComKlass();
Computer comp1 = new Computer();
Computer comp2 = new Computer();
klass.AddComputer(comp1);
klass.AddComputer(comp2);
for(int i=0;i<klass.GetComputerList().size();i++) {
((Computer)klass.GetComputerList().get(i)).GetDataFromKeyBoard();
((Computer)klass.GetComputerList().get(i)).ShowMousePosition();
}
}
}
class ComKlass {
private ArrayList computers;
ComKlass() {
computers = new ArrayList();
}
void AddComputer(Computer c) {
computers.add(c);
}
ArrayList GetComputerList() {
return computers
}
}
class Computer {
private int id;
Mouse mouse;
KeyBoard keyboard;
Computer() {
mouse = new Mouse();
keyboard = new KeyBoard();
}
void GetDataFromKeyBoard() {
keyboard.GetKey();
}
void ShowMousePosition() {
mouse.GetPosition();
}
}
class Mouse {
private int x,y;
void GetPosition() {
System.out.println("Mouse.GetPosition()");
}
void SetPosition(int x, int y) {
this.x = x;
this.y = y;
}
}
class KeyBoard {
private char key;
void SetKey(char k) {
this.key = k;
}
char GetKey() {
System.out.println("KeyBoard.GetKey()");
return key;
}
}
В изложенном выше примере для создания компьютерного класса и запуска программы был использован класс lab, имеющий статический метод main. После создания нового экземпляра объекта «компьютер», переменная помещается в коллекцию с помощью вызова метода AddComputer. Внутри коллекции происходит циклический перебор всех ее элементов с явным приведением типа объекта к Computer и вызов методов класса, в методе класса для вывода на экран информации о работе данного элемента структуры выводится строка с текстом имени метода.
Похожие материалы
Лабораторная работа №2 По дисциплине: Объектно-ориентированный анализ и программирование Тема: Объекты и классы
amphtears
: 11 февраля 2026
Тема: Объекты и классы
Задание: построить объектную структуру на языке Java с использованием UML диаграммы классов.
Для построения программы необходимо использовать объекты и UML диаграмму классов, построенную на первых занятиях. Каждый класс диаграммы необходимо представить в виде самостоятельного (отдельного) класса.
300 руб.
Лабораторная работа №3 по дисциплине: Объектно-ориентированное программирование
vohmin
: 3 июня 2018
Тема:
Принцип наследования.
Создание иерархии классов.
Классы и модули.
Задание:
Создать иерархию графических классов в соответствии с рисунком. Описания классов оформить в отдельном модуле.
50 руб.
Лабораторная работа №3 по дисциплине: «Объектно-ориентированный анализ и программирование»
Мария114
: 24 мая 2017
Тема: Пакеты, внутренние и вложенные классы
Задание: Необходимо расширить построенную объектную структуру с внедрением внутренних классов.
100 руб.
Лабораторная работа №3 по дисциплине: «Объектно-ориентированное программирование». Все варианты
Roma967
: 21 марта 2015
Задание:
Создать иерархию графических классов в соответствии с рисунком. Описания классов оформить в отдельном модуле.
Рекомендации к выполнению:
В данной лабораторной работе Вы должны написать, откомпилировать и сохранить модуль, содержащий описание классов графических фигур. Для этого изучите в лекциях §9 “Классы и модули” и разберите в примере 2.7 (§10) конспекта лекций модуль FIGURA. Т.е. Вы должны прислать на проверку только файл с текстом модуля (программа, которая будет использовать модул
300 руб.
Курсовая работа по дисциплине Объектно-ориентированный анализ и программирование на тему: Создание объектно-ориентированного программного приложения для обработки данных в заданной предметной области
DENREM
: 12 мая 2018
Создание объектно-ориентированного программного приложения для обработки данных в заданной предметной области
Заданная предметная область ___Пункт обмена валют
ВВЕДЕНИЕ 5
ЗАДАНИЕ 8
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 10
1.1 Общие положения 10
1.2 Разработка модели прецедентов 12
1.3 Разработка модели классов анализа 13
2 РАЗРАБОТКА СТРУКТУРЫ ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ 17
2.1 Входные данные программы 17
2.2 Выходные данные и результаты работы программы 17
2.3 Функциональная структура п
1500 руб.
Лабораторная работа № 3 По дисциплине: Объектно-ориентированное программирование Вариант 4
Nitros
: 28 июня 2025
Лабораторная работа №3
Тема: Принцип полиморфизма. Использование виртуальных методов.
Задание:
Внести следующие изменения в программу, разработанную в лабораторной работе №2:
Использовать общий метод движения фигур, описанный в родительском классе самого верхнего уровня иерархии (т.е. описание самого метода движения Move убрать из всех классов, кроме самого верхнего родительского).
Использовать виртуальные методы для корректной работы программы после внесенных изменений.
300 руб.
Лабораторная работа №3 по дисциплине “Объектно-ориентированное программирование” Вариант №6
Софья5
: 16 сентября 2024
Лабораторная работа №3
Язык программирования: C++
Тема: Принцип полиморфизма. Использование виртуальных методов.
Задание:
Внести следующие изменения в программу, разработанную в лабораторной работе №2:
Использовать общий метод движения фигур, описанный в родительском классе самого верхнего уровня иерархии (т.е. описание самого метода движения Move убрать из всех классов, кроме самого верхнего родительского).
Использовать виртуальные методы для корректной работы программы после внесенных измене
100 руб.
Лабораторная работа №3 по дисциплине: «Объектно-ориентированное программирование». Вариант №7
kiana
: 27 октября 2014
Тема:
Принцип наследования.
Создание иерархии классов.
Классы и модули.
Задание:
Создать иерархию графических классов в соответствии с рисунком. Описания классов оформить в отдельном модуле.
Рекомендации к выполнению:
В данной лабораторной работе Вы должны написать, откомпилировать и сохранить модуль, содержащий описание классов графических фигур. Для этого изучите в лекциях §9 “Классы и модули” и разберите в примере 2.7 (§10) конспекта лекций модуль FIGURA. Т.е. Вы должны прислать на прове
50 руб.
Другие работы
Математическая логика и теория алгоритмов.Экзамен билет 5. А=29 В=6
Damovoy
: 11 января 2021
Билет №5
А=29 В=6
А – день даты (от 1 до 31) отправки экзаменационного задания, В – месяц даты (от 1 до 12) отправки экзаменационного задания.
1. Функция получена операцией примитивной рекурсии из функций и .
Вычислить , если ,
2. Функция получена операцией суперпозиции функций , , ,
Вычислить , если , , ,
.
3. Проверить правильность рассуждения (метод любой)
Если ослик Иа пойдет гулять, то он обязательно потеряет хвост. Ослик Иа пойдет гулять, если Вини-пух пойдет с ним.
350 руб.
Теплотехника ТОГУ-ЦДОТ 2013 Задача 5 Вариант 71
Z24
: 23 января 2026
Определить индикаторную мощность Ni двухтактного двигателя внутреннего сгорания по его конструктивным параметрам и среднему индикаторному давлению. Значения диаметра цилиндра двигателя D, ход поршня s, угловую скорость коленчатого вала ω, число цилиндров z и среднее индикаторное давление pi выбрать из табл. 30.
150 руб.
Человеко-машинное взаимодействие. Экзамен. Билет № 4.
nik200511
: 4 июня 2015
Задание 1
Программа stego-c.exe предназначена для добавления скрытой информации в программы на языках Си и Си++ путём изменения порядка описания локальных переменных (вам не нужно вдаваться в подробности этого метода). Программа может решать три задачи: определение ёмкости (сколько скрытой информации можно поместить), запись скрытой информации и чтение скрытой информации. Может использоваться один файл или группа файлов в папке.
Необходимо дать экспертную оценку программы с позиций соответст
36 руб.
Гидродинамика МарГТУ Задача 26 Вариант 9
Z24
: 10 января 2026
В бак, разделенный тонкой перегородкой на два отсека, поступает расход воды Q = 0,020 м³/с. В перегородке имеется отверстие диаметром d1 = 0,10 м. Из второго отсека вода отливается наружу через цилиндрический насадок диаметром d2 = 0,050 м (рис.22). Определить глубину воды в отсеках над центром отверстий.
150 руб.