Jam*_*ran 10
并非面向对象编程是"非程序性的"; 只是我们称之为"程序"的代码不是面向对象的(而不是功能性的,可能不是其他几个)
它不是一个或两个案例,而是缓慢的渐变:
意粉代码 - >结构化代码 - >面向对象代码 - >组件代码.
(更新:从上面的图表中删除了"程序",因为它引用了它的所有正确的3/4)
理论上,OOP和程序规划是正交概念.他们在实践中交织在一起的事实可能比其他任何事情更巧合.因为它非常熟悉,所以程序语法是最易读的格式.消息传递,功能计算表达式和各种其他格式 - 由于它们不熟悉 - 对于大多数程序员来说并不容易.将此与大多数OOP系统基于过程语言的扩展这一事实相结合,并且在实际上难以将两个范例分开.(作为旁注:这是我喜欢F#的一个方面;作为一种多范式语言,它有助于在概念上将OOP的各个方面,命令式编程,函数式编程分开,同时使所有这些方面都可用.)