java编程继承重写电话卡类
时间: 2024-10-31 15:07:08 浏览: 16
java继承详解
在Java编程中,继承和重写是一种实现多态的重要机制,可以用来创建一个更通用的类(父类或超类),然后通过特定的子类(派生类)来提供具体的实现。假设我们有一个名为"PhoneCard"的抽象类,它代表一种电话卡,可能包含基本功能如拨打、接听电话等。
```java
abstract class PhoneCard {
public abstract void call(String phoneNumber);
// 其他可能的方法,如 checkBalance(), topUp() 等
// 比较基础的方法实现,如打印欢迎消息
protected String welcomeMessage() {
return "Welcome to the phone card service.";
}
}
```
现在我们可以创建一个具体的电话卡子类,比如"PrepaidPhoneCard"和"PostpaidPhoneCard",它们分别继承自PhoneCard并重写call方法:
```java
class PrepaidPhoneCard extends PhoneCard {
@Override
public void call(String phoneNumber) {
System.out.println(welcomeMessage() + " Calling with a prepaid card...");
// 实现具体的打电话逻辑,如检查余额后再拨打电话
}
}
class PostpaidPhoneCard extends PhoneCard {
@Override
public void call(String phoneNumber) {
System.out.println(welcomeMessage() + " Calling with a postpaid card...");
// 另一个实现,可能涉及到计费或者直接拨打电话
}
}
```
这样,当我们有了这两个子类后,可以根据实际使用的电话卡类型来实例化,并调用各自的call方法,体现了多态性。用户不需要关心底层的具体实现,只需要知道如何使用PhoneCard接口。
阅读全文