Untitled

 avatar
unknown
plain_text
6 months ago
5.3 kB
37
Indexable
/*
Class Diagram

Transport
+-------------------+
| - manufacturer: str|
| - modelName: str  |
| - productionYear: int|
| - paintColor: str |
|-------------------|
| + showInfo()      |
| + ignite()        |
+-------------------+
        |
        v
+-------------------+
| Sedan             |
| - doorCount: int  |
|-------------------|
| + showInfo()      |
| + ignite()        |
+-------------------+
        |
        v
+-------------------+
| Pickup            |
| - loadCapacity:   |
| - cargoLength: float|
|-------------------|
| + showInfo()      |
| + ignite()        |
+-------------------+
        |
        v
+-------------------+
| Scooter           |
| - engineDisplacement: int|
|-------------------|
| + showInfo()      |
| + ignite()        |
+-------------------+
        |
        v
+-------------------+
| BullockCart       |
| - cartVolume: int |
|-------------------|
| + showInfo()      |
| + ignite()        |
+-------------------+
*/

class Transport {
    private String manufacturer;
    private String modelName;
    private int productionYear;
    private String paintColor;

    // Constructor for Transport
    public Transport(String manufacturer, String modelName, int productionYear, String paintColor) {
        this.manufacturer = manufacturer;
        this.modelName = modelName;
        this.productionYear = productionYear;
        this.paintColor = paintColor;
    }

    // Display details of the transport
    public void showInfo() {
        System.out.println("Manufacturer: " + manufacturer);
        System.out.println("Model Name: " + modelName);
        System.out.println("Production Year: " + productionYear);
        System.out.println("Paint Color: " + paintColor);
    }

    // Start the engine
    public void ignite() {
        System.out.println("Igniting the transport...");
    }
}

class Sedan extends Transport {
    private int doorCount;

    // Constructor for Sedan
    public Sedan(String manufacturer, String modelName, int productionYear, String paintColor, int doorCount) {
        super(manufacturer, modelName, productionYear, paintColor);
        this.doorCount = doorCount;
    }

    // Display details of the sedan
    @Override
    public void showInfo() {
        super.showInfo();
        System.out.println("Number of Doors: " + doorCount);
    }

    // Start the sedan engine
    @Override
    public void ignite() {
        System.out.println("Igniting the sedan...");
    }
}

class Pickup extends Transport {
    private double loadCapacity;
    private double cargoLength;

    // Constructor for Pickup
    public Pickup(String manufacturer, String modelName, int productionYear, String paintColor, double loadCapacity, double cargoLength) {
        super(manufacturer, modelName, productionYear, paintColor);
        this.loadCapacity = loadCapacity;
        this.cargoLength = cargoLength;
    }

    // Display details of the pickup
    @Override
    public void showInfo() {
        super.showInfo();
        System.out.println("Load Capacity: " + loadCapacity + " kg, Cargo Length: " + cargoLength + " meters");
    }

    // Start the pickup engine
    @Override
    public void ignite() {
        System.out.println("Igniting the pickup...");
    }
}

class Scooter extends Transport {
    private int engineDisplacement;

    // Constructor for Scooter
    public Scooter(String manufacturer, String modelName, int productionYear, String paintColor, int engineDisplacement) {
        super(manufacturer, modelName, productionYear, paintColor);
        this.engineDisplacement = engineDisplacement;
    }

    // Display details of the scooter
    @Override
    public void showInfo() {
        super.showInfo();
        System.out.println("Engine Displacement: " + engineDisplacement + " cc");
    }

    // Start the scooter engine
    @Override
    public void ignite() {
        System.out.println("Igniting the scooter...");
    }
}

class BullockCart extends Transport {
    private int cartVolume;

    // Constructor for BullockCart
    public BullockCart(String manufacturer, String modelName, int productionYear, String paintColor, int cartVolume) {
        super(manufacturer, modelName, productionYear, paintColor);
        this.cartVolume = cartVolume;
    }

    // Display details of the bullock cart
    @Override
    public void showInfo() {
        super.showInfo();
        System.out.println("Cart Volume: " + cartVolume + " cubic meters");
    }

    // Start the bullock cart (metaphorically)
    @Override
    public void ignite() {
        System.out.println("Igniting the bullock cart...");
    }
}

public class Main {
    public static void main(String[] args) {
        // Create instances of each class
        Sedan sedan = new Sedan("Honda", "Accord", 2021, "Blue", 4);
        Pickup pickup = new Pickup("Chevrolet", "Silverado", 2020, "Red", 1300.0, 6.5);
        Scooter scooter = new Scooter("Yamaha", "NMax", 2022, "White", 155);
        BullockCart bullockCart = new BullockCart("Traditional", "Wooden Cart", 2023, "Natural", 4);

        // Display details and ignite engines
        sedan.showInfo();
        sedan.ignite();

        pickup.showInfo();
        pickup.ignite();

        scooter.showInfo();
        scooter.ignite();

        bullockCart.showInfo();
        bullockCart.ignite();
    }
}
Editor is loading...
Leave a Comment