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

Лаб. 2 Java (Вариант 3)

.docx
Скачиваний:
2
Добавлен:
31.08.2024
Размер:
54.93 Кб
Скачать

package lab_2;

class Wagon {

private String type;

public Wagon() {

this.type="";

}

public Wagon(String type) {

this.type= type;

}

public void load() {

System.out.println("Загрузка вагона типа: " + type);

}

}

package lab_2;

class LiquidTank extends Wagon{

public LiquidTank() {

super("Цистерна для жидкостей");

}

}

package lab_2;

class BulkCargoWagon extends Wagon{

public BulkCargoWagon() {

super("Вагон для сыпучих грузов");

}

}

package lab_2;

class CarPlatform extends Wagon{

public CarPlatform() {

super("Автомобильная платформа");

}

}

package lab_2;

class ContainerPlatform extends Wagon{

public ContainerPlatform() {

super("Платформа для контейнеров");

}

}

package lab_2;

class Product{

private String type;

public Product() {

this.type="";

}

public Product(String type) {

this.type = type;

}

public void load() {

System.out.println("Загрузка продукции: " + type + "\n");

}

}

package lab_2;

class Container extends Product{

public Container(String name) {

super(name);

}

}

package lab_2;

class BulkCargo extends Product{

public BulkCargo(String name) {

super(name);

}

}

package lab_2;

class Car extends Product{

public Car(String name) {

super(name);

}

}

package lab_2;

class Liquid extends Product{

public Liquid(String name) {

super(name);

}

}

package lab_2;

import java.util.ArrayList;

class Train{

private ArrayList<Wagon> wagons;

public Train() {

wagons = new ArrayList<>();

}

public void addWagon(Wagon wagon) {

wagons.add(wagon);

}

public void info() {

System.out.println("Железнодорожный состав состоит из " + wagons.size() + " вагонов");

}

}

package lab_2;

import java.util.ArrayList;

class Warehouse{

private ArrayList<Product> products;

public Warehouse() {

products = new ArrayList<>();

}

public void addProduct(Product product) {

products.add(product);

}

public Product removeProduct(int index) {

return products.remove(index);

}

public boolean isEmpty() {

return products.isEmpty();

}

}

package lab_2;

public class Main{

public static void main(String[] args) {

LiquidTank liquidTank = new LiquidTank();

BulkCargoWagon bulkCargoWagon = new BulkCargoWagon();

CarPlatform carPlatform = new CarPlatform();

ContainerPlatform containerPlatform = new ContainerPlatform();

Warehouse warehouse = new Warehouse();

Train train = new Train();

// Создание продукции

Liquid oil = new Liquid("Нефть");

Liquid diesel = new Liquid("Дизельное топливо");

BulkCargo mazut = new BulkCargo("Мазут");

BulkCargo grain = new BulkCargo("Зерно");

BulkCargo coal = new BulkCargo("Уголь");

BulkCargo sand = new BulkCargo("Песок");

Container container1 = new Container("Контейнер 1");

Container container2 = new Container("Контейнер 2");

Car car1 = new Car("Автомобиль 1");

Car car2 = new Car("Автомобиль 2");

// Добавление продукции на склад

warehouse.addProduct(oil);

warehouse.addProduct(diesel);

warehouse.addProduct(mazut);

warehouse.addProduct(grain);

warehouse.addProduct(coal);

warehouse.addProduct(sand);

warehouse.addProduct(container1);

warehouse.addProduct(container2);

warehouse.addProduct(car1);

warehouse.addProduct(car2);

// Загрузка вагонов

while (!warehouse.isEmpty()) {

Product product = warehouse.removeProduct(0);

if (product instanceof Container) {

train.addWagon(containerPlatform);

containerPlatform.load();

product.load();

}

if (product instanceof Liquid) {

train.addWagon(liquidTank);

liquidTank.load();

product.load();

}

if (product instanceof BulkCargo) {

train.addWagon(bulkCargoWagon);

bulkCargoWagon.load();

product.load();

}

if (product instanceof Car) {

train.addWagon(carPlatform);

carPlatform.load();

product.load();

}

}

train.info();

}

}

Соседние файлы в предмете Основы языка Java