Лабораторная работа №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 руб.
Другие работы
Лабораторная работа(1,2,3,4). Вычислительная техника и информационная технология.
Zenkoff
: 9 декабря 2014
Лабораторная работа 1:Изучить свойства логических элементов «И–НЕ»; приобретение навыков синтеза логических схем.
Лабораторная работа 2:Изучение свойств комбинационных цифровых устройств: шифратора, дешифратора, сумматора, мультиплексора и приобретение навыков выполнения арифметических микроопераций.
Лабораторная работа 3:Экспериментальное исследование работы различных типов триггеров.
Лабораторная работа 4:Экспериментальное исследование работы различных типов двоичных счетчиков.
55 руб.
Проект технічного переоснащення Чернівецького хлібозаводу №1
OstVER
: 6 июня 2014
В дипломному проекті проведено технічне переоснащення Чернівецького хлібозаводу №1.
Передбачено механізувати усі стадії технологічних процесів із змінною двох печей ФТЛ-2, на вистійно – пічний агрегат Г4-РПА-12 і скорочення однієї технологічної лінії без зменшення потужності підприємства, встановити двохшвидкісну тістомісильну машину, як могла б мобільно реагувати на потреби ринку, для скорочення технологічного процесу приготування тіста, використовувати концентровану молочнокислу та пропіоновок
555 руб.
Экономика отрасли инфокоммуникаций. Билет №3
mdmatrix
: 28 августа 2020
Экзаменационная работа По дисциплине: Экономика отрасли инфокоммуникаций
1. Особенности рыночной среды инфокоммуникаций и отраслевая структура рынка
Задача.
2. Определит среднегодовое количество каналов связи, если наличие на начало года составляет 17200 ед. в течение года произошли следующие изменения:
В марте - ввод 200 каналов;
С 1 мая - выбытие 120 каналов;
В четвертом квартале ввод 280 каналов.
45 руб.
РРРВ и АФУ- распространение радиоволн и антенно-фидерные устройства
gugych
: 1 декабря 2014
Вариант 10. Искусственный спутник Земли, находящийся на стационарной орбите, предназначен для ретрансляции телевизионных сигналов на линии Земля – ИСЗ – Земля. Спроектировать передающую антенну, установленную на борту спутника. Исходные данные для проектирования представлены в таблицах 1 и 2.
Таблица 1
Номер варианта 1 f0=10 ГГц G2=50 дБ
Тип облучателя- открытый конец круглого волновода
Фидерный тракт КВ
Таблица 2
Номер варианта 0 Р1=40 Вт Р2=-110 дБ Вт
1000 руб.