C#是纯粹的面向对象编程语言吗



我最近开始学习C#,我想知道C#是否是纯面向对象的,在这两种情况下都有原因(是或否)。

我不能百分之百确定"纯"面向对象的确切含义,但我的答案是肯定的。

来自Smaltalks的维基百科页面;

Smalltalk是一种"纯粹"的面向对象编程语言,意思是与Java和C++不同是基本类型的对象和值。在Smalltalk中,基元值,如整数、布尔值和字符也是对象,

这与C#中的相同。

我发现一篇有趣的文章叫Wyvern: A Simple, Typed, and Pure Object-Oriented Language

1.1是什么让面向对象模型变得纯粹?

从这些来源中,我们提取了我们希望满足于提出一个类型化的、纯面向对象的模型:

  • 统一访问原则。继Meyer、Cook和Kay之后,应该只能通过调用它们的方法来访问对象。

  • 互操作性和统一处理。默认情况下,同一面向对象接口的不同实现应该互操作,并且在运行时应该很容易对它们进行统一处理(例如,通过将同一接口的不同实现存储在单个运行时数据结构)。

  • 状态封装。所有可变状态都应该封装在对象中。

最新更新