Лабораторные работы №№1-3 по дисциплине: Объектно-ориентированное программирование и анализ. Вариант общий
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Лабораторная работа №1:
Тема: построение UML диаграммы вариантов использования и диаграммы классов, построить объектную структуру на языке Java на основе созданных диаграмм.
Задание: для диаграммы вариантов использования нужно отобразить на диаграмме следующие основные действия с объектом «компьютер»: ввод программы с клавиатуры, подсоединение внешнего устройства (флэшки), просмотр результата работы программы на мониторе.
На диаграмме классов необходимо отобразить класс объекта «компьютер», основные поля класса (номер компьютера, расположение-аудитория), методы класса, перечисленные в диаграмме вариантов использования, а также отобразить классы, представляющие собой основные компоненты (части) объекта «компьютер»: системный блок, монитор, клавиатура, мышка. Созданные классы необходимо соединить между собой ассоциациями с указанием множественности на концах ассоциаций.
Для построения программы необходимо использовать объекты и UML диаграмму классов, построенные ранее. Каждый класс диаграммы необходимо представить в виде самостоятельного (отдельного) класса.
Рекомендации к выполнению:
Для построения UML диаграммы можно воспользоваться любым графическим редактором или использовать программу, включающую в себя графические примитивы языка UML – программа Dia.
Для создания программы удобнее всего использовать текстовый редактор с возможностью компиляции и запуска программы, например редактор Geany.
После создания нового файла на языке Java можно в соответствии с основными компонентами созданной диаграммы классов перейти к созданию соответствующих классов согласно синтаксису языка в тексте программы. Например, Ваша программа может состоять из следующих объектов (фрагмент):
public class lab {
public static void main (String args[]) {
Computer comp = new Computer();
comp.GetDataFromKeyBoard();
comp.ShowMousePosition();
}
}
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), классы, создающие требуемую объектную структуру (классы Computer, Mouse, KeyBoard).
Класс lab содержит статичный метод main в котором осуществляется создание экземпляра класса Computer и выполнение методов класса. При отсутствии класса lab и присутствии только основных классов воссоздающих структуру объекта, программа будет скомпилирована, но ее запуск будет невозможен. Для демонстрации работа функциональных частей объекта на экран выводятся строки о работе соответствующего метода.
Так как объекты Mouse и Keyboard являются функциональными единицами объекта Computer, в классе Computer созданы экземпляры данных объектов (поля), а в конструкторе класса Computer при создании класса происходит создание экземпляров Mouse и Keyboard.
Лабораторная работа №2:
Тема: Пакеты, внутренние и вложенные классы.
Задание: Необходимо расширить построенную объектную структуру с внедрением внутренних классов.
Рекомендации к выполнению:
Для изменения ранее созданной программы необходимо классы, являющиеся зависимыми от класса-предка представить как внутренние классы. Например, класс «Mouse» класса «Computer» можно преобразовать во внутренний класс:
public class Computer {
class Mouse {
int id;
void GetPosition() {
}
}
int id;
Mouse mouse;
void GetDataFromFleshka() {
}
}
Лабораторная работа №3:
Тема: Коллекции объектов.
Задание: преобразование структуры программы для представления информации о наборе объектов. Расширение программы должно включать обязательные элементы объявления и создания коллекции для хранения набора объектов и добавление в коллекцию нескольких объектов. Также для каждого элемента коллекции необходимо выполнить обращение к методу объекта.
Рекомендации к выполнению:
Для преобразования программы необходимо выполнить следующие основные изменения:
- в главный класс-предок необходимо добавить переменную коллекцию (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 и вызов методов класса, в методе класса для вывода на экран информации о работе данного элемента структуры выводится строка с текстом имени метода.
Тема: построение UML диаграммы вариантов использования и диаграммы классов, построить объектную структуру на языке Java на основе созданных диаграмм.
Задание: для диаграммы вариантов использования нужно отобразить на диаграмме следующие основные действия с объектом «компьютер»: ввод программы с клавиатуры, подсоединение внешнего устройства (флэшки), просмотр результата работы программы на мониторе.
На диаграмме классов необходимо отобразить класс объекта «компьютер», основные поля класса (номер компьютера, расположение-аудитория), методы класса, перечисленные в диаграмме вариантов использования, а также отобразить классы, представляющие собой основные компоненты (части) объекта «компьютер»: системный блок, монитор, клавиатура, мышка. Созданные классы необходимо соединить между собой ассоциациями с указанием множественности на концах ассоциаций.
Для построения программы необходимо использовать объекты и UML диаграмму классов, построенные ранее. Каждый класс диаграммы необходимо представить в виде самостоятельного (отдельного) класса.
Рекомендации к выполнению:
Для построения UML диаграммы можно воспользоваться любым графическим редактором или использовать программу, включающую в себя графические примитивы языка UML – программа Dia.
Для создания программы удобнее всего использовать текстовый редактор с возможностью компиляции и запуска программы, например редактор Geany.
После создания нового файла на языке Java можно в соответствии с основными компонентами созданной диаграммы классов перейти к созданию соответствующих классов согласно синтаксису языка в тексте программы. Например, Ваша программа может состоять из следующих объектов (фрагмент):
public class lab {
public static void main (String args[]) {
Computer comp = new Computer();
comp.GetDataFromKeyBoard();
comp.ShowMousePosition();
}
}
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), классы, создающие требуемую объектную структуру (классы Computer, Mouse, KeyBoard).
Класс lab содержит статичный метод main в котором осуществляется создание экземпляра класса Computer и выполнение методов класса. При отсутствии класса lab и присутствии только основных классов воссоздающих структуру объекта, программа будет скомпилирована, но ее запуск будет невозможен. Для демонстрации работа функциональных частей объекта на экран выводятся строки о работе соответствующего метода.
Так как объекты Mouse и Keyboard являются функциональными единицами объекта Computer, в классе Computer созданы экземпляры данных объектов (поля), а в конструкторе класса Computer при создании класса происходит создание экземпляров Mouse и Keyboard.
Лабораторная работа №2:
Тема: Пакеты, внутренние и вложенные классы.
Задание: Необходимо расширить построенную объектную структуру с внедрением внутренних классов.
Рекомендации к выполнению:
Для изменения ранее созданной программы необходимо классы, являющиеся зависимыми от класса-предка представить как внутренние классы. Например, класс «Mouse» класса «Computer» можно преобразовать во внутренний класс:
public class Computer {
class Mouse {
int id;
void GetPosition() {
}
}
int id;
Mouse mouse;
void GetDataFromFleshka() {
}
}
Лабораторная работа №3:
Тема: Коллекции объектов.
Задание: преобразование структуры программы для представления информации о наборе объектов. Расширение программы должно включать обязательные элементы объявления и создания коллекции для хранения набора объектов и добавление в коллекцию нескольких объектов. Также для каждого элемента коллекции необходимо выполнить обращение к методу объекта.
Рекомендации к выполнению:
Для преобразования программы необходимо выполнить следующие основные изменения:
- в главный класс-предок необходимо добавить переменную коллекцию (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 и вызов методов класса, в методе класса для вывода на экран информации о работе данного элемента структуры выводится строка с текстом имени метода.
Дополнительная информация
Работы зачтены без замечаний!
Дата сдачи: сентябрь 2018 г.
Содержание архива:
1) Лабораторная №1:
Задание.doc; Диаграммы.doc; lab1.java
2) Лабораторная №2:
Задание.doc; lab2.java
3) Лабораторная №3:
Задание.doc; lab3.java
Выполняю работы на заказ по различным дисциплинам.
E-mail: LRV967@ya.ru
Дата сдачи: сентябрь 2018 г.
Содержание архива:
1) Лабораторная №1:
Задание.doc; Диаграммы.doc; lab1.java
2) Лабораторная №2:
Задание.doc; lab2.java
3) Лабораторная №3:
Задание.doc; lab3.java
Выполняю работы на заказ по различным дисциплинам.
E-mail: LRV967@ya.ru
Похожие материалы
Лабораторные работы №1-3 по дисциплине: Объектно-ориентированное программирование. Вариант общий
holm4enko87
: 12 ноября 2024
Задание:
Часть 1. Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. При написании программы на С++ или С# инициализировать поля с помощью конструктора (объявить два конструктора: по умолчанию и с параметрами). Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
Часть 2. Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля).
500 руб.
Лабораторные работы №1-3 по дисциплине: Объектно-ориентированное программирование. Вариант общий
xtrail
: 22 июля 2024
Лабораторная работа №1
Тема: Принцип инкапсуляции. Описание класса.
Задание:
Часть 1. Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. При написании программы на С++ или С# инициализировать поля с помощью конструктора (объявить два конструктора: по умолчанию и с параметрами). Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
Часть 2. Сделать защиту полей класса (т.е. работать с полями в основной программе не напр
600 руб.
Лабораторная работа №1 по дисциплине: Объектно-ориентированный анализ и программирование. Вариант общий
xtrail
: 25 декабря 2025
Тема: построение UML диаграммы вариантов использования и диаграммы классов, построить объектную структуру на языке Java на основе созданных диаграмм.
Задание: для диаграммы вариантов использования нужно отобразить на диаграмме следующие основные действия с объектом «компьютер»: ввод программы с клавиатуры, подсоединение внешнего устройства (флэшки), просмотр результата работы программы на мониторе.
На диаграмме классов необходимо отобразить класс объекта «компьютер», основные поля класса (но
400 руб.
Курсовая работа по дисциплине: Объектно-ориентированное программирование и анализ. Вариант №7
SibGOODy
: 15 сентября 2018
Курсовая работа состоит из одного задания. Необходимо разработать систему хранения и обслуживания информации объекта согласно индивидуальному варианту (см. далее перечень вариантов).
Номер варианта выбирается по двум последним цифрам пароля.
Задание:
Написать программу, используя объектно-ориентированный подход, которая описывает объект и его основные характеристики и действия.
Описание классов необходимо оформить в виде отдельного модуля. Иерархия классов должна включать минимум три класса, од
900 руб.
Лабораторные работы №1-3 по дисциплине: Объектно-ориентированный анализ и программирование. Без вариантов.
IT-STUDHELP
: 20 июля 2020
Цикл лабораторных работ включает в себя следующие работы:
Построение UML диаграммы вариантов использования и диаграммы классов и Построение объектной структуры программы по этим диаграммам.
Расширение построенной объектной структуры с внедрением внутренних классов.
Добавление в разработанную ранее программу информации о наборе объектов.
Прежде, чем приступать к выполнению очередной лабораторной работы необходимо сначала прочитать конспект лекций соответствующий разделу лабораторной работы.
Вс
600 руб.
Лабораторные работы 1-3 по дисциплине: Объектно-ориентированный анализ и программирование. Вариант №04
IT-STUDHELP
: 11 октября 2023
Вариант №04
Лабораторная работа 1
Тема: построение UML диаграммы вариантов использования и диаграммы классов, построить объектную структуру на языке Java на основе созданных диаграмм.
Задание: для диаграммы вариантов использования нужно отобразить на диаграмме следующие основные действия с объектом «компьютер»: ввод программы с клавиатуры, подсоединение внешнего устройства (флэшки), просмотр результата работы программы на мониторе.
На диаграмме классов необходимо отобразить класс объекта «ком
900 руб.
Лабораторные работы 1-3 по дисциплине: Объектно-ориентированный анализ и программирование. Вариант №22
IT-STUDHELP
: 5 декабря 2022
Лабораторная работа №1
Тема: построение UML диаграммы вариантов использования и диаграммы классов, построить объектную структуру на языке Java на основе созданных диаграмм.
Задание: для диаграммы вариантов использования нужно отобразить на диаграмме следующие основные действия с объектом «компьютер»: ввод программы с клавиатуры, подсоединение внешнего устройства (флэшки), просмотр результата работы программы на мониторе.
На диаграмме классов необходимо отобразить класс объекта «компьютер», осн
900 руб.
Лабораторная работа №3 по дисциплине: Объектно-ориентированный анализ и программирование. Вариант общий
xtrail
: 25 декабря 2025
Тема: Коллекции объектов
Задание: преобразование структуры программы для представления информации о наборе объектов. Расширение программы должно включать обязательные элементы объявления и создания коллекции для хранения набора объектов и добавление в коллекцию нескольких объектов. Также для каждого элемента коллекции необходимо выполнить обращение к методу объекта.
Рекомендации к выполнению:
Для преобразования программы необходимо выполнить следующие основные изменения:
- в главный кла
400 руб.
Другие работы
Курсовая работа № 6 по дисциплине: Информатика. Вариан №4
ustianna
: 25 сентября 2012
Задание к курсовой работе.
Получить матрицу C[m,k] путем умножения матрицы А[m,n] на матрицу B[n,k] и определить в результирующей матрице строку с наибольшим количеством отрицательных элементов. Заменить в полученной матрице отрицательные элементы на их количество и записать в обратном порядке любую строку матрицы.
500 руб.
Механика жидкости и газа СПбГАСУ 2014 Задача 1 Вариант 30
Z24
: 28 декабря 2025
Закрытый резервуар с жидкостью плотностью ρж = 820 кг/м³ снабжен закрытым пьезометром, ртутным дифманометром и механическим манометром. Определить высоту поднятия ртути hрт в дифманометре и пьезометрическую высоту hx в закрытом пьезометре, если известны: показание манометра рм = (0,12 + 0,005·y) МПа и высоты h1 = (2,3 + 0,05·y) м, h2 = (1,3 + 0,05·z) м, h3 = (2,0 + 0,05·y) (рис. 1).
150 руб.
Гидравлика АКАДЕМИЯ ГРАЖДАНСКОЙ ЗАЩИТЫ Задача 4 Вариант 31
Z24
: 9 марта 2026
Определить предельную высоту расположения оси центробежного насоса над уровнем воды в водоисточник h, если расход воды из насоса Q, диаметр всасывающей трубы d. Вакуумметрическое давление, создаваемое во всасывающем патрубке рв, потери напора во всасывающей линии 1 м.
150 руб.
Экзамен по истории: Петр I и преобразования первой четверти XYIII века
ulibka
: 10 января 2015
Экзамен по истории.
Экзаменационный вопрос:
1. Петр I и преобразования первой четверти XYIII века
Оценка:Отлично
Дата оценки: 10.01.2015
50 руб.