编写类及接口,画出类的结构图 • 编写测试类,让普通手机播放音频、发信息和通电话,让智能手机上网、播放视频、照相、发信息和通电话 • 有父类、子类设计- •有接口设计- •子类实现了接口- •有测试类-5分 •有子类对象,实现了接口回调-5分
时间: 2024-09-30 15:07:04 浏览: 29
实验 8抽象类和接口的应用.zip
在Java中,为了实现你描述的功能,我们可以创建一个层次化的类结构,包含父类(Phone)、接口(SmartphoneFeatures)以及相关的子类。这里我会简要介绍如何设计这个结构,然后提供一个简单的代码示例。
首先,我们定义一个基础的`Phone`类,它是所有手机的通用行为:
```java
public class Phone {
public void playAudio() {
System.out.println("Playing audio on basic phone.");
}
public void sendMessage() {
System.out.println("Sending message on basic phone.");
}
public void makeCall() {
System.out.println("Making call on basic phone.");
}
}
```
接着,我们为智能手机添加接口`SmartphoneFeatures`,这些是它们特有的功能:
```java
public interface SmartphoneFeatures {
void browseInternet();
void playVideo();
void takePicture();
}
```
现在,我们可以为`Smartphone`类继承`Phone`并实现`SmartphoneFeatures`接口:
```java
public class Smartphone extends Phone implements SmartphoneFeatures {
@Override
public void browseInternet() {
System.out.println("Browsing internet on smartphone.");
}
@Override
public void playVideo() {
System.out.println("Playing video on smartphone.");
}
@Override
public void takePicture() {
System.out.println("Taking picture on smartphone.");
}
}
```
接下来,我们需要一个测试类`TestPhone`来调用这些功能:
```java
public class TestPhone {
public static void main(String[] args) {
// 创建一个普通手机实例
Phone basicPhone = new Phone();
// 普通手机只能执行基本功能
basicPhone.playAudio();
basicPhone.sendMessage();
basicPhone.makeCall();
// 创建一个智能手机实例,并使用它的特性和父类方法
Smartphone smartphone = new Smartphone();
smartphone.playAudio(); // 从父类继承的行为
smartphone.sendMessage(); // 从父类继承的行为
smartphone.makeCall(); // 从父类继承的行为
// 使用智能手机特有的接口方法
smartphone.browseInternet();
smartphone.playVideo();
smartphone.takePicture();
}
}
```
在这个例子中,子类`Smartphone`既是`Phone`的子类,又是`SmartphoneFeatures`的实现者,你可以创建多个子类扩展或覆盖基类中的行为。
阅读全文