【问题标题】:Difference between functional programming and object oriented programming [duplicate]函数式编程和面向对象编程之间的区别[重复]
【发布时间】:2016-03-03 17:53:01
【问题描述】:

虽然这是一个非常基本的问题,但有人可以举例说明一下吗?我们应该在哪里使用函数式编程,在哪里使用面向对象?

【问题讨论】:

标签: oop functional-programming


【解决方案1】:

我建议在任何地方都使用 oop.. :) 如果你需要一些函数,你可以用静态函数创建它..

例如

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

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

OOP 很棒。 你可以按类组织你的代码(每个类都有它的东西)。

一定要到处使用 oop。

不是很好的答案,但是。是的.. :)

【讨论】:

  • “函数式编程”不是“函数式编程”。
【解决方案2】:

这两种“学派”最大的区别在于数据和对数据的操作之间的关系。

OOP 的中心原则是数据和对它的操作是紧密耦合的:一个对象拥有它的数据并且它拥有对数据的操作的实现。它通过它的接口、它响应的方法或消息的集合向其他对象隐藏这些。因此,抽象的中心模型是数据本身,隐藏在其接口形式的小 API 后面。

OOP 的核心活动是组合新对象并通过向现有对象添加新方法来扩展现有对象。

FP 的中心原则是数据只与函数松散耦合。你可以在同一个数据结构上编写不同的操作,抽象的中心模型是函数,而不是数据结构。函数隐藏了它们的实现,语言的抽象与函数以及它们组合或表达的方式有关,例如泛型函数或组合子。

FP 的核心活动是编写新函数。enter link description here

【讨论】:

    猜你喜欢
    • 2018-05-21
    • 2011-06-29
    • 2015-01-15
    • 2016-11-26
    • 2010-11-04
    • 2020-05-23
    • 2023-03-21
    • 2015-04-24
    • 1970-01-01
    相关资源
    最近更新 更多