设计一个接口 `Playable`,包含一个 `play()` 方法。然后设计两个类 `MusicPlayer` 和 `VideoPlayer`,分别实现 `Playable` 接口,并在 `play()` 方法中输出相应的信息
时间: 2023-08-12 07:54:26 浏览: 76
可以为您设计如下的 `Playable` 接口以及 `Player` 和 `VideoPlayer` 类:
```javainterface Playable {
void play();
}
class Music implements Playable {
@Override
public void() {
System.out.println("Playing music...");
}
}
class VideoPlayer implements Playable {
@Override
public void() {
System.out("Playing video...");
}
}
```
在这个设计中,`Playable` 接口定义了一个 `play()` 方法,而 `MusicPlayer` 和 `VideoPlayer` 类分别实现了这个接口,并在其 `play()` 方法中输出了相应的信息。`MusicPlayer` 的 `play()` 方法输出 "Playing music...",而 `VideoPlayer` 的 `play()` 方法输出 "Playing video..."。这样,您可以通过调用 `play()` 方法来播放音乐或视频。
相关问题
创建一个接口Playable,具有抽象方法play()。然后创建两个类Guitar和 Piano,实现Playable接口,并在每个类中实现play()方法以模拟各自乐器的演奏。在main方法中,创建Guitar和 Piano对象,并调用它们的play()方法。
在面向对象编程中,你可以按照以下步骤创建这个场景:
首先,定义一个接口`Playable`,它表示能够播放音乐的基本功能:
```java
public interface Playable {
void play();
}
```
接着,创建两个实现了`Playable`接口的类:`Guitar`和`Piano`。这两个类分别代表吉他和钢琴,它们都必须实现`play()`方法来模拟各自的演奏行为:
```java
public class Guitar implements Playable {
@Override
public void play() {
System.out.println("Playing guitar...");
}
}
public class Piano implements Playable {
@Override
public void play() {
System.out.println("Playing piano...");
}
}
```
在`main`方法中,你可以创建`Guitar`和`Piano`的对象,并通过它们的引用调用`play()`方法:
```java
public static void main(String[] args) {
Playable guitar = new Guitar();
Playable piano = new Piano();
// 调用各自的play方法
guitar.play(); // 输出 "Playing guitar..."
piano.play(); // 输出 "Playing piano..."
// 这里展示了多态性,尽管我们传递的是Playable类型的引用,但实际上会根据对象的实际类型调用相应的play方法
}
```
通过这种方式,即使是在运行时,你也可以根据需要动态地改变`Playable`引用指向的具体对象类型,体现了多态的优势。
设计一个名为Workable的接口,其中包含void work()方法,设计另一个名为Playable的接口,其中包含void play()方法。定义一个People类实现上述两个接口。定义测试类,演示接口类型的使用。
以下是Java代码实现:
```java
// 定义Workable接口
interface Workable {
void work();
}
// 定义Playable接口
interface Playable {
void play();
}
// People类实现Workable和Playable接口
class People implements Workable, Playable {
@Override
public void work() {
System.out.println("我正在工作!");
}
@Override
public void play() {
System.out.println("我正在玩耍!");
}
}
// 测试类
public class InterfaceDemo {
public static void main(String[] args) {
// 定义People对象,并通过Workable和Playable接口调用work()和play()方法
People p = new People();
Workable w = p;
Playable pl = p;
w.work();
pl.play();
}
}
```
在上述代码中,我们定义了Workable和Playable两个接口,并在People类中分别实现了这两个接口中的方法。然后,在测试类中,我们定义了一个People对象,并通过Workable和Playable接口分别调用了work()和play()方法。由于People类实现了这两个接口,因此我们可以使用接口类型的引用来调用这两个方法。
阅读全文