ITI0011-2016:harjutus 10 lihtsam
Mine navigeerimisribale
Mine otsikasti
Üldine
Kaitsmised: 21. - 22. märts
Kaust gitis: EX10A
See on lihtsam variant harjutus 10st (ITI0011:harjutus 10)
Ülesanne
Realiseerida ExpensiveCarShop, mis implementeerib CarShop liidest. Realiseeritav funktsionaalsus:
- auto müümisel pannakse selle hinnale 10% otsa. Ehk kui auto hind on 100 eurot, siis
sellCarselle auto kohta tagastab 110. sellCartagastab suvalise auto nimetatud mudeliga. Kui mudel onnull, siis tagastabnull. Auto müümisel peab selle hind olema 10% kallim (ehk siis objekt, mis tagastatakse, peab olema 10% suurema hinnaga).getAmounttagastab etteantud mudeliga autode koguse poes. Kui etteantud mudel onnull, siis tagastab kõikide autode koguse.
Mall
CarShop.java: <source lang="java"> /**
* Car shop interface. */
public interface CarShop {
/**
* Car shop buys a car. Car will be added to the owned cars.
* @param car Car to buy.
*/
void buyCar(Car car);
/**
* Car shop sells a car with the specified model.
* Car will be removed from the owned cars.
* @param model Car with the specified model is sold.
* @return Car to be sold. Null if no car with the specified model found.
*/
Car sellCar(String model);
/**
* Gets the amount of cars with specified model. If no cars
* with specified model exist, returns 0. If specified model is null,
* returns the amount of all the cars.
* @param model Model to count. If null, the amount of all the cars is returned.
* @return The amount of cars with specified model. If model is null,
* total amount of cars.
*/
int getAmount(String model);
}
</source>
Car.java <source lang="java"> /**
* Car object which is operated by CarShop. */
public class Car {
/**
* Model of the car.
*/
private String model;
/**
* Price of the car.
*/
private double price;
/**
* Constructor.
* @param model Model of the car.
* @param price Price of the car.
*/
public Car(String model, double price) {
this.model = model;
this.price = price;
}
/**
* Gets the price of the car (in euros).
*
* @return Car price.
*/
public double getPrice() {
return price;
}
/**
* Sets the price of the car (in euros).
*
* @param price Car price.
*/
public void setPrice(double price) {
this.price = price;
}
/**
* Gets the model of the car.
*
* @return Model of the car.
*/
public String getModel() {
return model;
}
/**
* Sets the model of the car.
*
* @param model Model of the car.
*/
public void setModel(String model) {
this.model = model;
}
}
</source>