长途汽车、飞机、轮船、火车、出租车?三轮车都是交通工具,都卖票。请分别用抽象类和接口类组织它们代码如何写
时间: 2023-05-20 12:04:43 浏览: 150
抽象类的实现:
首先,我们可以定义一个名为Transportation的抽象类,其中包含了一个名为sellTicket()的抽象方法,表示售票的行为。然后,我们可以定义五个具体的交通工具类:Bus、Plane、Ship、Train和Taxi,它们都继承自Transportation类,并实现了sellTicket()方法。最后,我们还可以定义一个Tricycle类,它也继承自Transportation类,但是它不能实现sellTicket()方法,因为三轮车不需要售票。
代码如下:
```
abstract class Transportation {
public abstract void sellTicket();
}
class Bus extends Transportation {
public void sellTicket() {
System.out.println("Bus ticket sold.");
}
}
class Plane extends Transportation {
public void sellTicket() {
System.out.println("Plane ticket sold.");
}
}
class Ship extends Transportation {
public void sellTicket() {
System.out.println("Ship ticket sold.");
}
}
class Train extends Transportation {
public void sellTicket() {
System.out.println("Train ticket sold.");
}
}
class Taxi extends Transportation {
public void sellTicket() {
System.out.println("Taxi ticket sold.");
}
}
class Tricycle extends Transportation {
// 三轮车不需要售票
}
```
接口类的实现:
另一种实现方式是使用接口类。我们可以定义一个名为TicketSeller的接口,其中包含了一个名为sellTicket()的方法,表示售票的行为。然后,我们可以定义五个具体的交通工具类:Bus、Plane、Ship、Train和Taxi,它们都实现了TicketSeller接口,并实现了sellTicket()方法。最后,我们还可以定义一个Tricycle类,它没有实现TicketSeller接口,因为三轮车不需要售票。
代码如下:
```
interface TicketSeller {
void sellTicket();
}
class Bus implements TicketSeller {
public void sellTicket() {
System.out.println("Bus ticket sold.");
}
}
class Plane implements TicketSeller {
public void sellTicket() {
System.out.println("Plane ticket sold.");
}
}
class Ship implements TicketSeller {
public void sellTicket() {
System.out.println("Ship ticket sold.");
}
}
class Train implements TicketSeller {
public void sellTicket() {
System.out.println("Train ticket sold.");
}
}
class Taxi implements TicketSeller {
public void sellTicket() {
System.out.println("Taxi ticket sold.");
}
}
class Tricycle {
// 三轮车不需要售票
}
```
阅读全文