当前位置: 首页 > news >正文

【编程】面向对象编程和函数式编程

文章目录

    • 面向对象编程
      • 主要特性
      • 抽象类和接口的区别
    • 函数式编程
      • 函数式接口
      • Lambda表达式
      • Stream API

面向对象编程

主要特性

  1. 面向对象编程有四个主要特性:封装、继承、多态和抽象。

封装:通过private、protected、public控制访问权限,提供getter、setter方法。

  • 访问修饰符:
  • private:属性和方法,只能在定义的它们的类的内部被访问。
  • default:默认,包访问权限。同一包中其他类可以访问。不同包中的类无法访问。
  • protected:同一包中的任何类,不同包中的子类,均可访问。
  • public:无访问权限,可以在任何地方被访问。

继承:子类继承父类。单继承、多实现。继承的类,实现的接口。

多态:
编译时多态(静态多态):方法重载。
运行时多态(动态多态):方法重写和向上转型(父类引用指向子类对象Animal myAnimal1 = new Dog();)。

  • 重载与重写的区别:
  • 重写:子类继承父类,并重写父类方法。
  • 重载:多个同名方法,参数列表不同(参数类型、参数个数、参数顺序不同)。

抽象类和接口的区别

  • 抽象类支持单继承,接口支持多实现。
  • 抽象类中可包含抽象方法和具体方法,接口中Java8之前只能有抽象方法。
  • 抽象类中成员变量可以是普通变量或常量,接口中只能是public static final。

函数式编程

函数式接口

只包含一个抽象方法的接口。@FunctionalInterface注解确保接口是函数式接口。

Lambda表达式

  • 基本语法:
  • 无参数,无返回值:() -> System.out.println(“Hello, Lambda!”);
  • 有一个参数,无返回值:(x) -> System.out.println(x);
  • 有多个参数,有返回值:(a, b) -> a + b;

Stream API

  • 更方便的对集合数据进行复杂的处理。
  • 具有延迟执行的特性,中间操作(如filter、map等)不会立即执行,只有在遇到终端操作(如sum、collect等)时才会触发整个流水线的执行。可以避免不必要的计算,提高性能。
传统for循环
        int sum = 0;
        for (Integer num : numbers) {
            if (num % 2 == 0) {
                sum += num * num;
            }
        }
        System.out.println(sum);
Streamint sum = numbers.stream()
                .filter(num -> num % 2 == 0)
                .mapToInt(num -> num * num)
                .sum();
            System.out.println(sum);

相关文章:

  • 手撕C++ STL list容器:从指针缠绕到迭代器封装的实践笔记
  • 【大模型】DeepSeek攻击原理和效果解析
  • dify0.15.3升级至dify1.1.2操作步骤
  • 【DFS】羌笛何须怨杨柳,春风不度玉门关 - 4. 二叉树中的深搜
  • 高效PDF翻译解决方案:多引擎支持+格式零丢失
  • Android第六次面试总结(Java设计模式篇一)
  • Harbor镜像仓库迁移与高可用集群搭建实战指南
  • 在Centos 7环境下安装MySQL
  • C++11 auto decltype
  • 未来工程项目管理新走向:云原生软件赋能绿色可持续建设
  • 【申论】二十大报告中的申论金词金句
  • 【AI News | 20250324】每日AI进展
  • 大数据学习(82)-数仓详解
  • 【Ratis】SlideWindow滑动窗口机制
  • unity动效扫光教程
  • Linux应用:异步IO、存储映射IO、显存的内存映射
  • 常见框架漏洞攻略-Shiro篇
  • Elasticsearch:构建 AI 驱动的搜索体验
  • 嵌入式八股RTOS与Linux---进程间的通信与同步篇
  • SQL 集合运算
  • 央广网评政府食堂打开大门:小城文旅爆火的底层密码就是真诚
  • 金正恩视察重要坦克厂并强调更迭陆军装备
  • 人民日报:创新成势、澎湃向前,中国科技创新突围的密码与担当
  • “五一”假期第三天,预计全社会跨区域人员流动量超2.8亿人次
  • 最火“五一”预订!小长假前两日多地接待游客量两位数增长,出境游订单井喷
  • 产假工资是谁出?女职工生育能领多少生育津贴?解答来了