c语言为什么不能编应用程序?操作系统不也是面向对象的吗(人机交互啊)

2024-12-04 08:23:28
推荐回答(2个)
回答1:

没学过编程,但就我所知,C语言是继汇编语言之后出现的一种编程语言,与汇编语言一样,都能基于底层来编程,比如指针,是真的指向物理内存的地址,而且C也不是直接面对对象的;C++是在C语言的基础上开发的,虽然也能针对底层来编,但与C的编程方式不一样了,相比C有点不灵活,因其编译器很多,但C++是面向对象的,这个面向对象是指现实中的事物,如人、房子、汽车等等,将每个事物的属性和操作这些属性的函数合集为类,因此同样的一个程序的实现,C++编程的过程比较长,可能也不太精准。
Java则是不管操作系统是哪种,也不管底层的硬件是什么样的,只要把各个操作系统的代码,用一种通用的语言描述、执行就行了。
就比如说汽车入库,用C编程,要先申请一个(内存)空间、构造汽车、车库,再设定一个方法,分步骤将汽车车头、车身、车尾、车轮放入车库。
若用C++,因已经有了汽车、车库的类,只需各自新建一个,虽然有了汽车这个类,但这个类下面有很多很多类型,比如有越野车、轿车、货车等等,还需要再构造符合要求的,车库也是如此,有空间大的,举架高的也有举架矮的;但车库有现成入库方法,选用一个,只是要注意的是入库有拷贝、移动等多种方式,若是选错了,比如选了拷贝,则会多出一辆汽车,就可能出错。
用java编汽车入库,则不用这么繁琐,因其有现成汽车、车库类型和子类型,选择需要就行了,然后执行入库命令就完成汽车入库的任务。但是若想修改汽车或车库的样子是不行的,因Java没有这样的功能。
另外C语言属于Dos时代的编程语言,可能已经不适应视窗化的操作系统,C++ 也如此,所以微软后来基于C和C++开发了Visual C和Visual C++,以及为了与Java抗衡的C#(还有C#/CLR和C#/CLI等)。C#与Java类似,也是不涉及底层,而是在VM上执行的。

回答2:

区别在于:面积过程的语言管理起来比较麻烦,一条代码地执行,而面积对象的代码可以进行重用,从网上下载的一些类可以直接拿来用!
面向对象的语言是基于面向对象技术创制的
面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法
具体情况看下面的链接

中国物联网校企联盟技术部