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

时间:2014-01-01 11:47:13

标签: c# .net

我最近开始学习C#,我想知道C#是否纯粹面向对象,在两种情况下都有理由(例如是或否)。

1 个答案:

答案 0 :(得分:1)

我不是100%确定“纯粹”面向对象的含义,但我的答案是肯定的。

来自Smaltalks wikipedia page;

  

Smalltalk是一种“纯粹的”面向对象编程语言,意思是   与Java和C ++不同,它们之间没有区别   是原始类型的对象和值。在Smalltalk,   原始值,例如整数,布尔值和字符也是   目的,

这与C#相同。

我发现了一篇名为Wyvern: A Simple, Typed, and Pure Object-Oriented Language

的有趣文章
  

1.1什么使面向对象的模型变得纯粹?

     

从这些来源,我们提取了我们希望的三个关键要求   满足于提出一个类型化,纯粹的面向对象模型:

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

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

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

  •