参照课本147页,例子13完成。编写一个抽象类,实现手机中使用不同的sim卡号码
时间: 2024-12-22 10:23:05 浏览: 7
在面向对象编程中,为了实现手机中使用不同类型的SIM卡这一抽象概念,我们可以创建一个抽象类作为基础,并让具体的手机模型如iPhone、Android手机等去继承这个抽象类。参照课本147页的例子13,可以按照以下步骤设计:
首先,创建一个名为`SimCard`的抽象类,它包含一些共性的属性和方法,比如`getPhoneNumber()`,表示获取电话号码:
```java
// 抽象类SimCard.java
public abstract class SimCard {
private String phoneNumber;
public SimCard(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
// 公开的抽象方法,每个子类需要实现
public abstract void checkSimStatus();
// 提供getter方法
public String getPhoneNumber() {
return phoneNumber;
}
}
```
然后,我们为特定的手机模型如iPhone和AndroidPhone创建两个实现了`SimCard`的子类:
```java
// iPhoneSimCard.java
public class iPhoneSimCard extends SimCard {
public iPhoneSimCard(String phoneNumber) {
super(phoneNumber);
}
@Override
public void checkSimStatus() {
System.out.println("Checking iPhone SIM card status...");
}
}
// AndroidSimCard.java
public class AndroidSimCard extends SimCard {
public AndroidSimCard(String phoneNumber) {
super(phoneNumber);
}
@Override
public void checkSimStatus() {
System.out.println("Checking Android SIM card status...");
}
}
```
现在,你可以实例化这些子类并使用它们的共性方法:
```java
public static void main(String[] args) {
SimCard appleSim = new iPhoneSimCard("1234567890");
SimCard androidSim = new AndroidSimCard("0987654321");
appleSim.checkSimStatus(); // 输出 "Checking iPhone SIM card status..."
androidSim.checkSimStatus(); // 输出 "Checking Android SIM card status..."
}
```
阅读全文