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

相关推荐
2301_7775993716 小时前
golang如何实现WebSocket断线重连_golang WebSocket断线重连实现要点
jvm·数据库·python
ZeroNews内网穿透16 小时前
ZeroNews安全网关接入企业微信自建应用
网络·数据库·安全·云计算
香香甜甜的辣椒炒肉16 小时前
Spring JDBC 万能模板
java·后端·spring
DanCheOo16 小时前
从单 Chat 到多 Agent 系统:AI 应用的架构演进路线
前端·agent
liaowenxiong16 小时前
实现类和接口的关系
java
编程迪16 小时前
基于Java和uniapp开发的名片交换分享系统企业名片管理软件个人电子名片小程序源码
java·uni-app·电子名片·名片小程序·名片软件源码
开开心心就好16 小时前
经典塔防游戏移植移动端随时畅玩
java·前端·科技·游戏·edge·django·pdf
数据雕塑家16 小时前
数据库 + Grafana 可视化配置指南:从数据源连接到第一个仪表盘
数据库·grafana
We་ct16 小时前
前端包管理工具与Monorepo全面解析
前端·javascript·npm·pnpm·yarn·monorepo·包管理
源图客16 小时前
Linux系统部署Postgres数据库(ubuntu22.04)
linux·运维·数据库