Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Java / LR_7

.doc
Скачиваний:
11
Добавлен:
28.03.2016
Размер:
62.98 Кб
Скачать

Міністерство освіти і науки України

ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД

«НАЦІОНАЛЬНИЙ ГІРНИЧИЙ УНІВЕРСИТЕТ»

ІНСТИТУТ ЕЛЕКТРОЕНЕРГЕТИКИ

ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ

Кафедра програмного забезпечення комп'ютерних систем

ЗВІТ

З ЛАБОРАТОРНОЇ РОБОТИ № 7

з дисципліни “Мережеве Java програмування”

Виконав:

ст. гр. КНіт-10-1

Левченко О.А.

Перевірив:

Зінченко О.В.

Харь О.Т.


Дніпропетровськ

2014

Лабораторная работа №7

Шаблоны проектирования

Цель: Ознакомиться с понятием «шаблоны проектирования» и использовать на практике их возможности.

Задача:

Вариант 2:

Разработать программу, управляющую работой ресторана ( организация питания и развлечений клиентов). Ресторан имеет помещения , в которых можно питаться ( за столиком ) , танцевать , приготавливать пищу. Столики могут иметь разное количество посадочных мест. Клиент может либо заказать столик заранее , или (если будут свободные места ) прийти без предварительной заявки. Ресторан расписывает заранее столики по заявкам и рассаживают по свободным местам. Клиенты по заявкам могут заранее заказать меню. Можно выбрать заказ блюд из меню , представленного официантом. Затем заказ на блюда ставится на кухню , где эти блюда изготавливают и возвышаются клиенту . По конкретным строкой меню закрепляется конкретный повар. По окончании или до истечения своего присутствия в ресторане клиент рассчитывается за питание и идет . Все привязано к определенной дате .

Листинг программы:

package lr_7;

public class LR_7 {

public static void main(String[] args) {

Room BigRoom = new Room(5);

Cook GreatCooker = new Cook();

Menu Sushi = new Menu(GreatCooker, "Sushi", 100);

Client Anna = new Client(1000);

Anna.bookTable(Anna.ChooseTable(BigRoom, 2), null, BigRoom);

Anna.OrderFood("Ролл Филадельфия", GreatCooker);

Anna.PayAndGo(Sushi.price);

}

}

package lr_7;

import java.util.Date;

import java.util.Scanner;

class Room {

public Table[] tables;

public int numberOfTables;

public Date[] dates;

Room(int NumberOfTables)

{

numberOfTables = NumberOfTables;

tables = new Table[NumberOfTables];

dates = new Date[NumberOfTables];

System.out.print("В ресторане есть "+ numberOfTables +" столиков.");

Scanner scan = new Scanner( System.in );

for(int i = 0; i<NumberOfTables; i++)

{

System.out.print("Введите кол-во мест за " +(i+1)+" столом.");

tables[i] = new Table(scan.nextInt());

}

}

}

package lr_7;

class Cook {

String Name;

Menu menu;

void MakeFood(String food)

{

System.out.print(food + " создан.");

}

}

class Menu {

Cook cooker;

String NameOfMenu;

boolean ordered;

int price;

Menu()

{

cooker = new Cook();

NameOfMenu = "";

ordered = false;

price = 0;

}

Menu(Cook Cooker, String Name, int Price)

{

cooker = Cooker;

NameOfMenu = Name;

ordered = false;

price = Price;

}

void OrderMenu()

{

ordered = true;

System.out.print("Меню зарезервировано.");

}

}

package lr_7;

import java.util.Date;

public class Client implements IBook{

public int Money;

Client()

{

Money = 0;

}

Client(int money)

{

Money = money;

System.out.print("Пришел клиент, у него " + Money + " гривен.\n");

}

public int ChooseTable(Room room, int numberOfSits)

{

for (int i =0; i< room.numberOfTables; i++)

{

if ((room.tables[i].free)&&(room.tables[i].numberOfSits>=numberOfSits))

{

return i;

}

}

return -1;

}

@Override

public void bookTable(int numberOfTable, Date date, Room room) {

Manager maneger = new Manager();

maneger.bookTable(numberOfTable, date, room);

}

@Override

public void bookMenu(Menu menu, Date date) {

Manager maneger = new Manager();

maneger.bookMenu(menu, date);

}

void OrderFood(String food, Cook cook)

{

Manager manager = new Manager();

manager.TakeOrder(food, cook);

}

public void PayAndGo(int Price)

{

Money = Money - Price;

System.out.print("Клиент заплатил "+Price+" и ушол.\n");

}

}

package lr_7;

import java.util.Date;

class Manager{

Date date;

Manager()

{

}

Manager(Date Date)

{

date = Date;

}

void bookTable(int numberOfTable, Date date, Room room) {

room.tables[numberOfTable].free = false;

System.out.print("Столик номер "+ (numberOfTable+1) +"успешно заказан.\n");

}

public void bookMenu(Menu menu, Date date) {

}

public void TakeOrder(String food, Cook cook)

{

cook.MakeFood(food);

}

}

package lr_7;

import java.util.Date;

public interface IBook {

void bookTable(int numberOfTable, Date date, Room room);

void bookMenu(Menu menu, Date date);

}

Результат:

Вывод: я ознакомился с понятием «шаблоны проектирования» и использовал на практике их возможности.

Соседние файлы в папке Java