一、代码实现

1. 座机类 (Telephone)

public class Telephone {
    private double price;

    public Telephone(double price) {
        this.price = price;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public double call(int time) {
        return price * time;
    }
}

2. 移动手机类 (MobilePhone)

public class MobilePhone extends Telephone {
    private double balance;

    public MobilePhone(double price, double balance) {
        super(price);
        this.balance = balance;
    }

    public double getBalance() {
        return balance;
    }

    public void setBalance(double balance) {
        this.balance = balance;
    }

    public void recharge(double money) {
        balance += money;
        System.out.println('充值成功,当前余额为:' + balance);
    }

    public void showBalance() {
        System.out.println('当前余额为:' + balance);
    }

    @Override
    public double call(int time) {
        double cost = super.call(time);
        if (balance < cost) {
            System.out.println('余额不足,无法拨打电话');
            return 0;
        }
        balance -= cost;
        System.out.println('拨打电话成功,当前余额为:' + balance);
        return cost;
    }
}

3. 测试类 (Test)

public class Test {
    public static void main(String[] args) {
        MobilePhone phone = new MobilePhone(0.5, 10);
        phone.showBalance();
        phone.call(5);
        phone.showBalance();
        phone.recharge(20);
        phone.showBalance();
        phone.call(10);
        phone.showBalance();
    }
}

二、基本思路

  1. 继承关系: MobilePhone 类继承自 Telephone 类,体现出移动手机是座机的一种特殊类型,并扩展了余额、充值等功能。
  2. 封装: 每个类都封装了自己的属性和方法,对外提供统一的接口,提高代码的可维护性和可扩展性。
  3. 多态: call() 方法在 Telephone 和 MobilePhone 中都有实现,体现了多态性,根据对象类型动态调用不同的方法。

三、项目实现过程

  1. Telephone 类:

    • 定义 price 属性,存储通话费用单价。
    • 定义 call() 方法,计算通话费用并返回。
  2. MobilePhone 类:

    • 继承 Telephone 类,并新增 balance 属性存储余额。
    • 实现 recharge() 方法用于充值,增加余额。
    • 实现 showBalance() 方法用于显示当前余额。
    • 重写 call() 方法,判断余额是否充足,如果不足则提示无法拨打电话,否则扣除通话费用并更新余额。
  3. Test 类:

    • 创建一个 MobilePhone 对象,并使用它调用 showBalance(), call(), recharge() 等方法,测试系统功能。

通过以上步骤,我们成功实现了简单的手机通话费用计算系统,展现了 Java 面向对象编程的基本原理和应用。

Java实现手机通话费用计算:座机、移动手机类设计与测试

原文地址: https://www.cveoy.top/t/topic/oy4l 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录