2015-11-30 38 views
1

雖然這是一個非常基本的問題,任何人都可以用例子來解釋它。我們應該在哪裏使用函數式編程,哪裏面向對象?函數式編程和麪向對象編程之間的區別

+0

這些類型的問題都考慮到了新手。你會在互聯網上找到大量的文件。看看http://stackoverflow.com/questions/6720348/difference-between-oop-and-functional-programming-scheme – roottraveller

回答

-4

如果你需要,你可以使用靜態函數來創建它的一些功能,我建議到處使用OOP .. :) ..

例如

<?php 
ThisClass { 
    public static function thisFunction() { 
     echo "runned"; 
    } 
} 
thisFunction() { 
    echo "runned"; 
} 

ThisClass::thisFunction(); 
thisFunction(); 
?> 

OOP是真棒。 你可以按類組織你的代碼(每個類都是它的東西)。

絕對使用oop無處不在。

不是蓋茨答案,但。是的.. :)

+1

「函數式編程」是**不**「用函數編程」。 –

2

這兩個「思想流派」最大的區別在於數據和數據操作之間的關係。

OOP的核心原則是數據和對它的操作是緊密耦合的:一個對象擁有它的數據,它擁有數據操作的實現。它通過它的接口隱藏了其他對象的信息,它們是它響應的方法或消息的集合。因此,抽象的中心模型就是數據本身,因爲它以接口的形式隱藏在一個小的API後面。

OOP中的中心活動是通過向它們添加新方法來組成新對象並擴展現有對象。

FP的核心原則是數據只與函數鬆散耦合。您可以在同一個數據結構上編寫不同的操作,而抽象的中央模​​型是函數,而不是數據結構。函數隱藏它們的實現,語言的抽象說話的功能以及它們被組合或表達的方式,例如通用函數或組合器。

FP中的核心活動是編寫新的功能。 enter link description here