Java函数式编程和面向对象编程
文章目錄
- 什么是函數式編程?
- 什么是面向對象編程?
- 函數式編程和面向對象編程的優缺點
什么是函數式編程?
函數式編程的核心:在思考問題時,使用不可變對象和函數,函數將一個值經過處理,映射成另一個值。
函數式編程是以函數思維做為核心,在這種思維的角度去思考問題。這種編程最重要的基礎是λ演算,接受函數當作輸入和輸出。
什么是面向對象編程?
面向對象編程,把問題看作由對象的屬性與對象所進行的行為組成?;趯ο蟮母拍?#xff0c;以類作為對象的模板,把類和繼承作為構造機制,以對象為中心,來思考并解決問題。
函數式編程和面向對象編程的優缺點
優點:
函數式編程:支持閉包和高階函數,閉包是一種可以起函數的作用并可以如對象般操作的對象;而高階函數是可以以另一個函數作為輸入值來進行編程。支持惰性計算,這就可以在求值需要表達式的值得時候進行計算,而不是固定在變量時計算。還有就是可以用遞歸作為控制流程。函數式編程所編程出來的代碼相對而言少很多,而且更加簡潔明了。
面向對象編程:面向對象有三個主要特征,分別是封裝性、繼承性和多態性。
類的說明展現了封裝性,類作為對象的模板,含有私有數據和公有數據,封裝性能使數據更加安全依賴的就是類的特性,使得用戶只能看到對象的外在特性,不能看到對象的內在屬性,用戶只能訪問公有數據不能直接訪問到私有數據。
類的派生功能展現了繼承性,繼承性是子類共享父類的機制,但是由于封裝性,繼承性也只限于公有數據的繼承(還有保護數據的繼承),子類在繼承的同時還可以進行派生。而多態性是指對象根據接收的信息作出的行為的多態,不同對象接收同一信息會形成多種行為。
缺點
函數式編程:所有的數據都是不可以改變的,嚴重占據運行資源,導致運行速度也不夠快。
面向對象編程:為了編寫可以重用的代碼導致許多無用代碼的產生,并且許多人為了面向對象而面向對象導致代碼給后期維護帶來很多麻煩。
總結
以上是生活随笔為你收集整理的Java函数式编程和面向对象编程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 借记卡有利息吗
- 下一篇: Java 跨平台运行机理:Dos 命令在