用现实生活案例理解Java面向对象:从外卖系统到银行账户的代码演绎
当你在外卖平台下单时,系统如何管理订单?银行APP转账时,账户余额如何实时更新?这些日常场景背后,正是面向对象编程(OOP)的完美体现。本文将用完整可运行的代码示例,带你拆解类与对象、继承多态等抽象概念,让Java学习不再停留在语法层面。
1. 从外卖订单认识类与对象
想象一个外卖系统的核心组件:订单。每个订单包含菜品列表、总价、配送地址等信息,还能执行下单、取消等操作。这正是"类"的典型特征——封装数据与行为。
// 外卖订单类
public class FoodOrder {
// 属性(数据)
private List<String> items; // 菜品列表
private double totalPrice; // 总价
private String address; // 配送地址
private String status; // 订单状态
// 构造方法(创建对象时初始化)
public FoodOrder(List<String> items, String address) {
this.items = items;
this.address = address;
this.status = "待支付";
calculateTotal(); // 计算总价
}
// 方法(行为)
private void calculateTotal() {
this.totalPrice = items.size() * 15.0; // 假设每份菜品15元
}
public void confirmPayment() {
this.status = "已支付";
System.out.println("订单支付成功!总价:" + totalPrice);
}
public void cancelOrder() {
this.status = "已取消";
System.out.println("订单已取消");
}
// Getter方法
public String getStatus() { return status; }
}
实际使用示例:
List<String> myOrder = Arrays.asList("鱼香肉丝", "宫保鸡丁");
FoodOrder order = new FoodOrder(myOrder, "北京市海淀区");
order.confirmPayment(); // 输出:订单支付成功!总价:30.0
System.out.println(order.getStatus()); // 输出:已支付
这个案例展示了:
FoodOrder是类(模板)order</


被折叠的 条评论
为什么被折叠?



