关于面向对象的三大特征的实际案例

本文涉及的产品
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
函数计算FC,每月15万CU 3个月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 结合生活场景与Java代码,生动诠释面向对象三大特征:封装保障数据安全,继承实现共性复用,多态支持同一操作不同实现,助你直观掌握核心原理!

用生活场景+Java代码结合的案例,能更直观理解三大特征的实际用途!

一、封装:实体类的数据安全控制

生活场景:银行账户的余额,不能直接修改,只能通过存钱、取钱的正规操作变更。
代码案例

// 账户类(封装属性,暴露安全方法)
class BankAccount {
   
    // 私有属性,外部无法直接访问
    private String accountNum;
    private double balance;

    // 构造器初始化
    public BankAccount(String accountNum, double balance) {
   
        this.accountNum = accountNum;
        // 存款金额校验(封装的逻辑优势)
        this.balance = balance > 0 ? balance : 0;
    }

    // getter方法:外部获取余额
    public double getBalance() {
   
        return balance;
    }

    // setter方法:外部通过存钱操作修改余额
    public void deposit(double money) {
   
        if (money > 0) {
   
            balance += money;
            System.out.println("存款成功,当前余额:" + balance);
        } else {
   
            System.out.println("存款金额必须大于0");
        }
    }
}

// 测试类
public class TestEncapsulation {
   
    public static void main(String[] args) {
   
        BankAccount account = new BankAccount("622202XXXX", 1000);
        // 无法直接修改balance(编译报错)
        // account.balance = 5000;
        // 通过封装的方法操作
        account.deposit(2000); // 输出:存款成功,当前余额:3000.0
        account.deposit(-500); // 输出:存款金额必须大于0
    }
}

二、继承:复用父类功能,扩展子类特性

生活场景:猫和狗都是动物,都有“吃饭”“叫”的共性,也有各自的专属行为(猫抓老鼠、狗看门)。
代码案例

// 父类(提取共性)
class Animal {
   
    String name;

    public Animal(String name) {
   
        this.name = name;
    }

    // 共性方法
    public void eat() {
   
        System.out.println(name + "在吃饭");
    }

    public void shout() {
   
        System.out.println(name + "在叫");
    }
}

// 子类继承父类,复用共性+扩展特性
class Cat extends Animal {
   
    public Cat(String name) {
   
        super(name); // 调用父类构造器
    }

    // 重写父类方法(适配子类特性)
    @Override
    public void shout() {
   
        System.out.println(name + "喵喵叫");
    }

    // 子类专属方法
    public void catchMouse() {
   
        System.out.println(name + "在抓老鼠");
    }
}

// 测试类
public class TestInheritance {
   
    public static void main(String[] args) {
   
        Cat tom = new Cat("汤姆");
        tom.eat(); // 复用父类方法:汤姆在吃饭
        tom.shout(); // 重写后方法:汤姆喵喵叫
        tom.catchMouse(); // 子类专属:汤姆在抓老鼠
    }
}

三、多态:同一行为,不同实现

生活场景:同样是“支付”行为,用微信支付、支付宝支付的流程不同,但用户只需调用“支付”动作即可。
代码案例

// 父类/接口(定义统一行为)
interface Payment {
   
    void pay(double money); // 统一支付方法
}

// 子类1:微信支付实现
class WeChatPay implements Payment {
   
    @Override
    public void pay(double money) {
   
        System.out.println("微信支付" + money + "元,已扣除零钱余额");
    }
}

// 子类2:支付宝支付实现
class Alipay implements Payment {
   
    @Override
    public void pay(double money) {
   
        System.out.println("支付宝支付" + money + "元,已扣除余额宝金额");
    }
}

// 测试类(多态核心:父类引用指向子类对象)
public class TestPolymorphism {
   
    public static void main(String[] args) {
   
        Payment pay1 = new WeChatPay();
        Payment pay2 = new Alipay();

        pay1.pay(100); // 输出:微信支付100.0元,已扣除零钱余额
        pay2.pay(200); // 输出:支付宝支付200.0元,已扣除余额宝金额
    }
}

要不要我帮你整理一份三大特征综合案例代码(含注释),把封装、继承、多态结合到一个完整场景中,方便你直接运行学习?

相关文章
|
7天前
|
机器人 API 调度
基于 DMS Dify+Notebook+Airflow 实现 Agent 的一站式开发
本文提出“DMS Dify + Notebook + Airflow”三位一体架构,解决 Dify 在代码执行与定时调度上的局限。通过 Notebook 扩展 Python 环境,Airflow实现任务调度,构建可扩展、可运维的企业级智能 Agent 系统,提升大模型应用的工程化能力。
|
13天前
|
人工智能 数据可视化 Java
Spring AI Alibaba、Dify、LangGraph 与 LangChain 综合对比分析报告
本报告对比Spring AI Alibaba、Dify、LangGraph与LangChain四大AI开发框架,涵盖架构、性能、生态及适用场景。数据截至2025年10月,基于公开资料分析,实际发展可能随技术演进调整。
877 152
|
人工智能 前端开发 API
前端接入通义千问(Qwen)API:5 分钟实现你的 AI 问答助手
本文介绍如何在5分钟内通过前端接入通义千问(Qwen)API,快速打造一个AI问答助手。涵盖API配置、界面设计、流式响应、历史管理、错误重试等核心功能,并提供安全与性能优化建议,助你轻松集成智能对话能力到前端应用中。
563 154
|
负载均衡 Java 微服务
OpenFeign:让微服务调用像本地方法一样简单
OpenFeign是Spring Cloud中声明式微服务调用组件,通过接口注解简化远程调用,支持负载均衡、服务发现、熔断降级、自定义拦截器与编解码,提升微服务间通信开发效率与系统稳定性。
320 0
|
5天前
|
分布式计算 监控 API
DMS Airflow:企业级数据工作流编排平台的专业实践
DMS Airflow 是基于 Apache Airflow 构建的企业级数据工作流编排平台,通过深度集成阿里云 DMS(Data Management Service)系统的各项能力,为数据团队提供了强大的工作流调度、监控和管理能力。本文将从 Airflow 的高级编排能力、DMS 集成的特殊能力,以及 DMS Airflow 的使用示例三个方面,全面介绍 DMS Airflow 的技术架构与实践应用。
|
22天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
2006 40