用抽象类封装手机的基本属性和功能,要求手机即可以使用移动公司的ISM卡也可以使用联通公司SIM卡(可以使用任何公司提供的SIM卡)
时间: 2024-11-10 19:27:05 浏览: 17
UG_8.5钣金设计经典实例教程-UGNX8.5视频教程-实例11 手机SIM卡固定架.zip
在面向对象编程中,你可以通过创建一个抽象类来封装手机的基本属性和通用功能,比如电话号码、屏幕、电池寿命等。这个抽象类可以命名为`MobilePhone`,然后设计两个具体的实现类,如`ChinaMobilePhone`和`UnicomPhone`,它们分别继承自`MobilePhone`。
```java
// 抽象类 MobilePhone
public abstract class MobilePhone {
private String phoneNumber;
protected abstract void makeCall(); // 纯虚函数,代表打电话的行为
// 其他共有的属性和方法...
public MobilePhone(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getPhoneNumber() {
return phoneNumber;
}
}
// 具体实现类 ChinaMobilePhone
public class ChinaMobilePhone extends MobilePhone {
@Override
protected void makeCall() {
System.out.println("拨打中国移动号码...");
}
// 实现其他针对中国移动特有的功能...
}
// 另一个实现类 UnicomPhone
public class UnicomPhone extends MobilePhone {
@Override
protected void makeCall() {
System.out.println("拨打中国联通号码...");
}
// 实现其他针对中国联通特有的功能...
}
```
在这个例子中,`MobilePhone`作为抽象类提供了一个通用的接口,而`ChinaMobilePhone`和`UnicomPhone`则实现了这一接口并添加了各自运营商特有的行为。用户可以创建任何一个子类的对象,并通过`MobilePhone`类型的引用进行操作,这就是多态的体现。无论何时需要打电话,只要调用`makeCall()`,系统会自动调用相应运营商的实现。
阅读全文