码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 简单学懂链式编程


    合集 - 简单学懂java技术(2)
    1.简单学懂链式编程04-22
    2.简单学懂LambdaQueryWrapper04-22
    收起

    简单学懂链式编程

    一句话定义

    链式编程是一种编程风格,它允许在同一个对象上通过多个方法的调用链实现一系列操作,从而简化代码,提高可读性,和代码的可维护性。

    一个流程看懂

    创建对象 -> 连续调用对象方法 -> 返回对象本身 -> 使用对象方法获取属性或执行其他操作。

    示例

    public class Person {
        private String name;
        private int age;
        private String gender;
    
        public Person setName(String name) {
            this.name = name;
            return this;//返回this对象
        }
    
        public Person setAge(int age) {
            this.age = age;
            return this;
        }
    
        public Person setGender(String gender) {
            this.gender = gender;
            return this;
        }
    
        public String getName() {
            return name;
        }
    
        public int getAge() {
            return age;
        }
    
        public String getGender() {
            return gender;
        }
    
        public static void main(String[] args) {
            // 链式编程
            Person person = new Person()
                    .setName("张三")
                    .setAge(20)
                    .setGender("男");
    
            // 调用对象方法
            String name = person.getName();
            int age = person.getAge();
            String gender = person.getGender();
    
            // 输出结果
            System.out.println("姓名:" + name);
            System.out.println("年龄:" + age);
            System.out.println("性别:" + gender);
        }
    }
    

    在上面的代码中,我们

    1. 创建了一个Person类,并定义了setName()、setAge()、setGender()方法来设置对象的属性,并返回Person对象本身,以便实现方法调用链。
    2. 然后,我们使用链式编程的方式创建一个Person对象并连续调用setName()、setAge()、setGender()方法来设置对象属性,最终返回了一个已经设置好属性的Person对象。
    3. 最后,我们调用getName()、getAge()、getGender()方法获取对象的属性并输出。

    通过这个示例,可以看到链式编程的基本流程是:创建对象 -> 连续调用对象方法 -> 返回对象本身 -> 使用对象方法获取属性或执行其他操作。

  • 相关阅读:
    SQL Server实战二:创建、修改、复制、删除数据库表并加以数据处理
    课程设计报告,Cisco,亿图,三层交换,路由设计
    [python刷题模板] 最短路(Dijkstra)
    Linux多线程编程- 条件变量(Conditional variable)
    Docker常见命令使用
    单片机实验--单片机IO口实验
    基于微信小程序的语言课学习系统设计与实现(源码+lw+部署文档+讲解等)
    Python项目实战│ Python实现线程池工作模式
    34岁本科男,做了5年功能测试想转行,除了进厂还能干什么?
    长篇图解java反射机制及其应用场景
  • 原文地址:https://www.cnblogs.com/salt-baked-universe/p/17330628.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号