java封装

java通过访问修饰符private封装字段,外部只能通过getter和setter方法访问字段,这就是封装。但并不是全部无脑private +getter和setter方法就可以了,如果这样,和public没什么区别。

真正的封装是暴露行为而不是数据,比如支付类,里面有status状态字段,不应该暴露setStatus()让外界随便修改状态,而是添加支付pay()和取消支付cencel()等方法,让外界通过这些业务方法来修改状态。

前端需要新加一个金额字段显示,金额 = 单价*主数量。

可以在接口实现类进行循环遍历计算赋值,也可以在xml的sql语句中计算赋值,

也可以在前端赋值。

但这种,也可以直接通过amount的Getter计算,如下

java 复制代码
   /** 金额 */
    @Excel(name = "金额")
    @TableField(exist = false)
    @ApiModelProperty("金额")
    private BigDecimal amount;

    /**
     * 获取金额(主数量 * 单价)
     * @return 金额
     */
    public BigDecimal getAmount() {
        if (mainQuantity != null && unitPrice != null) {
            return mainQuantity.multiply(unitPrice);
        }
        return BigDecimal.ZERO;
    }

外部方法,给实体类的实例对象取值赋值都是通过getter和setter方法。

一个查询接口过程,其他用到getter和setter方法的地方。

GET /store/storeLedger/list/data?tradeNo=123&storeCode=ABC

相关推荐
Wang's Blog几秒前
Java 项目实战: 交友项目 - 阿里云 OSS 入门案例:从创建 Bucket 到上传拿到可访问 URL
java·阿里云·交友
roman_日积跬步-终至千里1 小时前
【数据Agent论文·查询与语义|05】Spider:为什么换一个数据库,模型就不会查了?
数据库·数据分析
裕晟资质规划1 小时前
三类涉密资质延续时限差异分析:军工60日与集成印制3个月的边界
java·服务器·前端·网络·安全
念念清晰1 小时前
000-OpenJDK17 源码构建:MacOS环境(M芯片)
java·后端
ShineWinsu1 小时前
对于JavaScript:JavaScript基础语法的解析
开发语言·前端·javascript·面试·web·基础语法·循环
猫咪很可爱1 小时前
Oracle RAC 启动失败排查:私网通信与内核参数优化实战
运维·数据库·oracle
月夏1 小时前
Vue3 转 React:18 项对照表 + 5 个必踩的坑(附 7 天上手路线)
前端
广州华水科技1 小时前
单北斗GNSS位移监测系统的应用与维护解析
前端
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 百度人脸识别入门案例
java·百度·交友
XLYcmy2 小时前
《数字经济赋能城市低碳治理的路径研究检索报告》审阅与修改指导意见——基于完整检索报告体例的完整性诊断、学术规范核查与方法论纠偏 上
数据库·ai·chatgpt·文心一言·检索·知网·豆包