使用c#开发的所有应用程序都不是面向对象的?

nik*_*owj 3 c# oop

根据Grady Booch的"面向对象分析和设计",没有继承的编程不是面向对象的,被称为使用抽象数据类型的编程.如果使用c#开发一个带有继承的类的应用程序,这是面向对象的(因为语言是面向对象的)还是不是?

Mat*_*ott 11

面向对象编程是使用对象的概念,例如类,具有字段的结构,属性和方法来封装编程逻辑.

继承是许多OO语言的一个特征,但不是必需的.该特征的省略不会使OO语言成为非OO语言.所以,我不同意Grady Booch对OO是什么的理解.

如果您正在使用C#进行编程,那么您使用的是OO语言,您无法摆脱这种情况,因为一切都System.Object至少从中继承.

  • 作为参考,Grady Booch发明了"Booch方法"(最终被UML吸收),并为GoF书写了前言.只是说......你选择了一个不同意OO的人.:) (5认同)