当你说C#是面向组件的语言时,它意味着什么?
我刚刚学习Java。 我对Java感到厌倦,一段时间后又回到了C ++。 我认为C#与Java类似。 在对C#进行一些阅读之后,我对C#和Java之间相似性的假设是不正确的。 我在C#中发现了很多强大的概念,我喜欢在Java中看到它。 无论如何,除了一件事,我读到的很多内容对我都有意义。 我一直听说C#是面向组件的语言! 维基百科对这个概念毫无用处。
当你说C#是面向组件的语言时,简单来说是什么意思?! 一个简单的例子将不胜感激。
我觉得“面向组件”和“面向对象”之间的界限非常模糊,在大多数情况下,可以安全地假设它们是同一个东西。
话虽如此(鉴于我不知道你对面向对象编程的了解)我提交了这篇优秀的维基百科文章供你阅读:
面向对象编程(OOP)是一种编程范例,它使用“对象” – 由数据字段和方法组成的数据结构 – 以及它们与设计应用程序和计算机程序的交互。 编程技术可以包括诸如信息隐藏,数据抽象,封装,模块化,多态和inheritance之类的特征。 直到20世纪90年代初,它才在主流软件应用程序开发中普遍使用。 许多现代编程语言现在都支持OOP。
您可能还想阅读基于组件的软件工程 ,该工程在整个系统中应用类似的概念:
基于组件的软件工程(CBSE)(也称为基于组件的开发(CBD))是软件工程的一个分支,其优先级是关于整个给定软件系统中可用的广泛function的关注点的分离。 。 这种做法在短期和长期内为软件本身和赞助它的组织带来了同样广泛的好处。
组件被认为是整个软件工程中面向服务的起始平台的一部分,例如Web服务,以及最近的面向服务的体系结构(SOA) – 组件被转换为服务,随后inheritance了超出一个普通的组件。
我相信这里的其他人将能够更好地解释面向组件的语言是什么(如果他们不这样做,那么应该在互联网上进行彻底的搜索),但我认为可以看到面向组件的范例。作为面向对象编程的实施例。
也就是说,面向组件的编程通过严格执行和实现一些OO概念来专门化面向对象编程。 基本上,整个想法是创建可重用的代码 – 以组件的forms – 可以互换 。 因此,面向组件的编程在很大程度上依赖于:多态性, 封装 ,后期绑定,inheritance(通过接口)以及最重要的二进制可重用性 。
组件是一个软件包,它封装了数据和function – 很像OOP中的对象 – 但是更高级别。
所以,说C#是面向组件的语言,基本上说它非常适合用于开发我们称之为组件的软件包 – 但我觉得C#以.NET框架为目标的事实有很多与声明有关。
在反思中,我们很可能会说Java也可以被认为是一种面向组件的语言 – 虽然我不得不承认我没有广泛的Java知识。
我不认为C#是“面向组件的语言”。 它是一种面向对象的语言,可以轻松打包到组件中。
我认为更准确地说,许多基于.NET的开发框架都是面向组件的框架。 如果您正在开发面向组件的框架,这将使C#开发组件面向。 例如,ASP.NET和Windows Forms主要基于组件概念模型 – 一切都是通过小型组件完成的,在设计时协同工作。
但是,您可以使用很少或没有组件方向轻松地在C#中进行开发。 语言本身不提供此function – 除了启用此开发风格,如果您选择使用它。
我可能错了,但这就是我看到它的方式:它意味着系统的各个部分彼此分开并且可以很容易地被替换。
在动态语言中,由于它们的灵活性,它相对容易,但在C#和Java等语言中,您需要使用特殊技术,例如dependency injection 。
可能我错了但我认为:
我在e balagurusamy第一章中已经阅读了相同的声明,但没有关于它的描述,但有一条线。 C#是第一个面向组件的语言,在另一行中它描述了C#是我今天唯一的面向组件的语言我觉得C和C ++语言是基于com的语言。 这意味着它们完全依赖于我们的操作系统,并且每个程序都在我们的操作系统的注册表中注册
在Java中,我们没有选择在我们的OOP编程中使用C语言(基于com的组件),但如果我们谈论C#,我们可能就是这就是为什么C#也被称为面向组件的语言
我们如何使用:
- 打开视觉工作室。
- 创建任何类型的新项目。
- 开放式解决方案。
- 在你的文件名右边。
- 单击添加引用。
在这里你可以看到com选项卡
这些是用C语言编写的dll
您还可以通过浏览选项卡添加C语言DLL
在一行中我们可以说它面向组件的编程意味着C#具有OOP的自动化能力,我们无法在没有面向对象的approch的C#或java中工作,所以这种技术是建立在高级语言的。 因此,这种技术称为面向组件。
上述就是C#学习教程:当你说C#是面向组件的语言时,它意味着什么?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/989216.html