写一段Java代码,要求如下假设有商品类:大卡车Truck、小汽车Car、食品Food。Truck与Car有共同的抽象父类Automoble。 这三种商品都有各自的优惠方式,因此定义一个接□Favourable,内有抽象方法 void discount0,这三种商品都要实现该接口。为了简化, 大卡车Truck的优惠简化为:显示字符串“大卡车优惠:免费昆明旅游”。 小汽车Car的优惠简化为:显示字符串“小汽车优惠:参加抽奖活动”。 食品Food的优惠简化为:显示字符串“食品优惠:国庆节八折”。 由于大卡车、小汽车都能开动,但各自开动方式不同,因此Automobile抽象类有一个开动的方法:abstract void dive)o 大卡车Truck的开动简化为:显示字符串“大卡车开动” 小汽车Car的开动简化为:显示字符串“小汽车开动” 写一个主类,在主方法里创建各个类对象,使得汽车都开动,使得所有商品都显示优惠措施。
时间: 2024-01-22 07:19:29 浏览: 72
下面是Java代码实现:
```
//商品类
class Truck extends Automobile implements Favourable {
@Override
public void dive() {
System.out.println("大卡车开动");
}
@Override
public void discount() {
System.out.println("大卡车优惠:免费昆明旅游");
}
}
class Car extends Automobile implements Favourable {
@Override
public void dive() {
System.out.println("小汽车开动");
}
@Override
public void discount() {
System.out.println("小汽车优惠:参加抽奖活动");
}
}
class Food implements Favourable {
@Override
public void discount() {
System.out.println("食品优惠:国庆节八折");
}
}
//抽象父类
abstract class Automobile {
abstract void dive();
}
//优惠接口
interface Favourable {
void discount();
}
//主类
public class Main {
public static void main(String[] args) {
//创建各个类对象
Truck truck = new Truck();
Car car = new Car();
Food food = new Food();
//所有商品都显示优惠措施
truck.discount();
car.discount();
food.discount();
//汽车都开动
truck.dive();
car.dive();
}
}
```
输出结果如下:
```
大卡车优惠:免费昆明旅游
小汽车优惠:参加抽奖活动
食品优惠:国庆节八折
大卡车开动
小汽车开动
```
阅读全文