函数指针暗示了面向对象的编程

时间:2018-01-14 14:41:18

标签: c# oop delegates function-pointers paradigms

在他的演讲“编程的未来”中,罗伯特·马丁提到了the motives for structured, functional and object-oriented paradigms

  • 结构化编程:不要使用无限制的goto;
  • 功能编程:不要使用赋值;
  • 面向对象编程:不要使用函数指针。

但是他提到的OOP背后的动机让我感到困惑。为什么C#作为面向对象的语言有委托(我的理解是函数指针)?

如果OOP基本上都是关于避免指向函数的指针,那么它们是错误的吗?

1 个答案:

答案 0 :(得分:0)

我认为这是对象导向的误传,可能只是为了戏剧效果。

面向对象的最大实现是:

  • 隐藏数据,提供功能(封装,数据隐藏)
  • 告诉,不要问(消息)
  • 强大的凝聚力,弱耦合

这些都没有专门禁止技术指针。他可以的意思是,应该没有"静态"在OO中的函数,所以显然不需要指向"静态"功能。这对我来说听起来很牵强......

摘要:我不知道,但听起来不对。