Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added UML-diagramms_Car.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
104 changes: 104 additions & 0 deletions hw_3.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
enum TypeCar{
SEDAN,
PICKUP
}

enum TypeFuel{
GASOLIN,
DISEL
}

enum TypeGearBox{
MT,
AT
}

abstract class Car
{
private String make;
private String model;
private Color color;
private TypeCar bodyType;
private int numberWheels;
private TypeFuel fuelType;
private TypeGearBox gearboxType;
private double engineCapacity;

public void movement(){}
public void maintenance(){}
public boolean gearShifting(){return true;}
public boolean switchHeadlights(){return true;}
public boolean switchWipers(){return true;}

public void setMake(String make){this.make = make; }
public String getMake(){return make;}

public void setModel(String model){this.model = model; }
public String getModel(){return model;}

public void setColor(Color color){this.color = color;}
public Color getColor(){return color;}

public void setBodyType(TypeCar bodyType){this.bodyType = bodyType;}
public TypeCar getBodyType(){return bodyType;}

public void setNumberWheels(int numberWheels){this.numberWheels = numberWheels;}
public int getNumberWheels(){return numberWheels;}

public void setFuelType(TypeFuel fuelType){this.fuelType = fuelType;}
public TypeFuel getFuelType(){return fuelType;}

public void setGearboxType(TypeGearBox gearboxType){this.gearboxType = gearboxType;}
public TypeGearBox getGearboxType(){return gearboxType;}

public void setEngineCapacity(double engineCapacity){this.engineCapacity = engineCapacity;}
public double getEngineCapacity(){return engineCapacity;}
}

class PickUp extends Car implements Refueling,Wiping
{
private int loadCapacity;

@Override
public void fuel() {}

@Override
public void wipWindshield(){}

@Override
public void wipHeadlights(){}

@Override
public void wipMirrors(){}

public int getLoadCapacity() {return loadCapacity;}
public void setLoadCapacity(int loadCapacity) {this.loadCapacity = loadCapacity;}
}

class FutureCar extends Car
{
FutureCar()
{
this.setNumberWheels(3);
}

@Override
public void movement()
{
fly();
}

private void fly(){}
}

interface Refueling
{
void fuel();
}

interface Wiping
{
void wipWindshield();
void wipHeadlights();
void wipMirrors();
}