博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java函数式编程和面向对象编程
阅读量:3947 次
发布时间:2019-05-24

本文共 749 字,大约阅读时间需要 2 分钟。

文章目录

什么是函数式编程?

函数式编程的核心:在思考问题时,使用不可变对象和函数,函数将一个值经过处理,映射成另一个值。

函数式编程是以函数思维做为核心,在这种思维的角度去思考问题。这种编程最重要的基础是λ演算,接受函数当作输入和输出。

什么是面向对象编程?

面向对象编程,把问题看作由对象的属性与对象所进行的行为组成。基于对象的概念,以类作为对象的模板,把类和继承作为构造机制,以对象为中心,来思考并解决问题。

函数式编程和面向对象编程的优缺点

优点:

函数式编程:支持闭包和高阶函数,闭包是一种可以起函数的作用并可以如对象般操作的对象;而高阶函数是可以以另一个函数作为输入值来进行编程。支持惰性计算,这就可以在求值需要表达式的值得时候进行计算,而不是固定在变量时计算。还有就是可以用递归作为控制流程。函数式编程所编程出来的代码相对而言少很多,而且更加简洁明了。
面向对象编程:面向对象有三个主要特征,分别是封装性、继承性和多态性。
类的说明展现了封装性,类作为对象的模板,含有私有数据和公有数据,封装性能使数据更加安全依赖的就是类的特性,使得用户只能看到对象的外在特性,不能看到对象的内在属性,用户只能访问公有数据不能直接访问到私有数据。

类的派生功能展现了继承性,继承性是子类共享父类的机制,但是由于封装性,继承性也只限于公有数据的继承(还有保护数据的继承),子类在继承的同时还可以进行派生。而多态性是指对象根据接收的信息作出的行为的多态,不同对象接收同一信息会形成多种行为。

缺点

函数式编程:所有的数据都是不可以改变的,严重占据运行资源,导致运行速度也不够快。

面向对象编程:为了编写可以重用的代码导致许多无用代码的产生,并且许多人为了面向对象而面向对象导致代码给后期维护带来很多麻烦。

转载地址:http://uhawi.baihongyu.com/

你可能感兴趣的文章
上司最恨员工哪十大"罪行"
查看>>
和上司沟通必备8个黄金句
查看>>
竹笋和榕树的管理学
查看>>
让“抱怨”促进公司进步
查看>>
职场“站队”你站对了吗?
查看>>
培养员工能力与责任
查看>>
细分市场制胜
查看>>
空降兵变革是怎样失败的
查看>>
伟大决策的6大基石
查看>>
MTK编译笔记
查看>>
深入理解各种指针
查看>>
Android的SeekBar
查看>>
SMS 和 MMS 在输入字母的响应不一致
查看>>
如何判断手机是否处于漫游状态?
查看>>
恢复出厂设置时删除手机上所有联系人
查看>>
根据Sim卡的插卡情况过滤通话记录
查看>>
联系查看两张卡的未接电话记录
查看>>
把拒接电话作为已经接电话写到call log中
查看>>
FDN号码完全匹配
查看>>
Cosmos 拨号界面保存号码时先提示选择存储位置
查看>>