首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >所有使用c#开发的应用程序都不是面向对象的吗?

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

Stack Overflow用户
提问于 2011-06-23 14:42:23
回答 6查看 1.7K关注 0票数 3

根据Grady Booch“面向对象的分析和设计”,没有继承的编程不是面向对象的,这被称为具有抽象数据类型的编程。如果我使用c#开发一个应用程序,其中包含一些没有继承的类,这是面向对象的(因为语言是面向对象的)还是不是?

EN

回答 6

Stack Overflow用户

发布于 2011-06-23 14:50:11

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

继承是许多面向对象语言的一个特性,但不是必须的。该特性的存在并不意味着OO语言就是非OO语言。所以,我不同意Grady Booch对OO的理解。

如果你正在使用C#编程,你正在使用一种面向对象的语言,你无法摆脱它,因为至少所有的东西都继承自System.Object

票数 11
EN

Stack Overflow用户

发布于 2011-06-23 14:44:43

C#中的所有类都继承自object,所以它是面向对象的:)

票数 4
EN

Stack Overflow用户

发布于 2011-06-23 15:01:25

参考Object-oriented programming

面向对象编程(

Object-oriented programming,OOP)是使用“对象”(由数据字段和方法及其交互组成的数据结构)来设计应用程序和计算机程序的编程范例。编程技术可以包括诸如数据抽象、封装、消息传递、模块化、多态性和继承等特征。许多现代编程语言现在支持OOP,至少是作为一种选择。

简单的非OOP程序可能是一个很长的命令列表。更复杂的程序会将命令列表分组为函数或子例程,每个函数或子例程可能执行特定的任务。

相反,面向对象的方法鼓励程序员将数据放在程序的其余部分无法直接访问的地方。取而代之的是,通过调用专门编写的函数来访问数据,这些函数通常称为方法,它们要么与数据捆绑在一起,要么继承自“类对象”,并充当检索或修改这些数据的中介。

面向对象的程序通常包含不同类型的对象,每种类型对应于要管理的特定类型的复杂数据,或者可能对应于真实世界的对象或概念,例如银行帐户、曲棍球运动员或推土机。

对象可以被认为是将它们的数据包装在一组函数中,这些函数旨在确保数据得到适当的使用,并在这种使用中提供帮助。

因此,继承是OOP的一个关键概念,但您仍然可以编写OOP应用程序而不使用它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6450251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档