C# 接口实现:A、B 电话卡通话费用与余额计算
你可以这样定义一个接口 `IGetMoney`: ```csharp public interface IGetMoney { decimal CalculateCost(int minutes); } public class ACard : IGetMoney { private decimal initialAmount = 100; private decimal perMinuteRate = 0.1m; private decimal initialRateMinutes = 3; private decimal initialRate = 0.2m; public decimal CalculateCost(int minutes) { decimal cost = initialAmount; if (minutes <= initialRateMinutes) { cost -= initialRate; } else { cost -= initialRate + (minutes - initialRateMinutes) * perMinuteRate; } return cost; } } public class BCard : IGetMoney { private decimal initialAmount = 100; private decimal perMinuteRate = 0.1m; public decimal CalculateCost(int minutes) { decimal cost = initialAmount - minutes * perMinuteRate; return cost; } } ``` 然后在代码中根据用户输入的卡类型和通话时间进行计算: ```csharp Console.WriteLine("请输入电话卡类型(A或B):"); string cardType = Console.ReadLine(); Console.WriteLine("请输入通话时间(分钟):"); int minutes = int.Parse(Console.ReadLine()); IGetMoney card; if (cardType == "A" || cardType == "a") { card = new ACard(); } else if (cardType == "B" || cardType == "b") { card = new BCard(); } else { Console.WriteLine("无效的电话卡类型。"); return; } decimal cost = card.CalculateCost(minutes); decimal remainingAmount = card.GetRemainingAmount(); Console.WriteLine("通话费用:" + cost.ToString("0.00") + "元"); Console.WriteLine("账户余额:" + remainingAmount.ToString("0.00") + "元"); ``` 这样,程序会根据用户输入的卡类型和通话时间计算通话费用,并输出费用和账户余额。接口和具体的电话卡类相互关联,符合面向对象的设计原则。 ######[AI写代码神器 | 1189点数解答 | 2024-05-27 14:26:52]
- Java实现银行与账户类:含存、取、查交易记录功能的业务系统( | 363点数解答 | 2024-04-05 11:49:01)366
- Java实现含多操作的银行账户管理系统,功能演示清晰呈现!( | 363点数解答 | 2024-04-05 11:43:57)392
- Java 实战:创建 Vehicle 接口并在 Bike 类实现,T4 类调用启动与停止方法(字节豆包 | 130点数解答 | 2024-09-19 17:40:54)429
- Python 实现移位与仿射密码:精准加密解密及关键逻辑解析(字节豆包 | 798点数解答 | 2024-12-18 15:55:47)275
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)369
- Python 编程:轻松计算飞机行李收费(含代码详解)(字节豆包 | 250点数解答 | 2026-01-29 17:07:02)41
- 车载系统 UML 类图设计:涵盖 Car、Engine、娱乐系统等的完整类定义与关系解析 (字节豆包 | 760点数解答 | 2024-08-15 22:51:04)325
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)340
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)90
- C++ 实现根据输入正整数奇偶性计算偶数和或约数和(字节豆包 | 838点数解答 | 2026-02-28 20:23:59)50
- Java开发:深入解析Lock接口及其对比同步的六大优势(百度文心 | 406点数解答 | 2023-11-09 17:20:58)302
- 常用接口方法大揭秘:RESTful、SOAP、gRPC,附接口质量评估5大标准! (百度文心 | 385点数解答 | 2023-11-09 18:25:24)301