Лабораторная работа №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 диаграмму классов, построенную на первых занятиях. Каждый класс диаграммы необходимо представить в виде самостоятельного (отдельного) класса.
500 руб.
Лабораторная работа №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-я часть. Паскаль. Лабораторная работа № 1. Вариант № 9
nik200511
: 19 апреля 2013
Разработать программу для вычисления:
1) значения заданного арифметического выражения;
2x+4y при -4<=x<32;
x+2*|x|-y при x>32;
3x при x=32 или x<-4
2) значения заданной функции h =
и вывода на экран полученных результатов.
Результат работы:
1. LR_V1.PAS
j = 2.323
45 руб.
Лабораторная работа №1 по дисциплине: «Методы оптимальных решений». Вариант №8
Roma967
: 21 марта 2015
Между двумя пунктами, расстояние между которыми равно 1000 км, необходимо с наименьшими затратами осуществить связь, имеющую 14 телефонных, 13 телеграфных и 36 фототелеграфных каналов с помощью кабелей двух типов. Кабель первого типа содержит 3 телефонных, 2 телеграфных и 3 фототелеграфных каналов, а кабель второго типа – 1 телефонный, 1 телеграфный и 7 фототелеграфных каналов. Стоимость 1 км кабеля первого типа равна 6 тыс. руб., второго типа – 1 тыс. руб.
200 руб.
Реферат. Обучение, инструктирование и проверка знаний по охране труда
Светлана74
: 13 апреля 2018
СОДЕРЖАНИЕ
Введение……………………………………………………………………..……….3
РАЗДЕЛ 1
1. Инструктажи по охране труда и порядок их проведения……………….4
2. Положение о порядке обучения и проверке знаний работников……….6
3. Термины и определения…………………………………………………..6
4. Общие положения………………………………………………………....9
РАЗДЕЛ 2
5. Проведение инструктажей по безопасности труда……………………10
5.1. Инструктаж по охране труда
5.2. Виды инструктажей
6. Стажировка работников рабочих специальностей перед допуском к самостоятельной…………………………………
500 руб.
Смеситель принудительного действия роторный СБ-93
beldog
: 13 сентября 2010
Смешивающие аппараты чашеобразных бетоносмесителей выполняют планетарно-роторными и роторными. Роторные чашеобразные бетоносмесители более просты по конструкции, чем планетарно-роторные, так как не имеют вращающихся лопастных валов. Смешивающие лопасти расположены на разных расстояниях от оси чаши так, чтобы при вращении ротора они перекрывали всю площадь смесительного пространства (рисунок 4). Такие бетоносмесители хорошо работают при приготовлении подвижных бетонных смесей и строительных раств
330 руб.