C语言可以面向对象编程吗?
C++,objective-c肯定可以。 标准c,普遍的说法是不行。我说我自己的想法,如果编写过面向对象的代码,类这个名词跟用户不陌生吧!类基本上是面向对象编程的精髓。类无非就是,成员数据与成员方法的集合,通过某个指针我们能访问到成员与方法。抽象、继承、多态、重载是类的基本特种。 一般而言,c语言是面向过程的,函数式编程。用标准c求解问题。无非就是,定义结构体、共用体、枚举、基本数据类型等,再定义一堆函数,来访问操作这些数据。如果吧这些东西,划分成在适当的文件,授予适当的权限。c语言的每个源文件就相当于类。 抽象、多态,利用c99的无类型指针很好实现。继承实现难度高,实现思想是利用指针可访问到父对象成员。重载,c实现更简单!此段别认为我是在瞎B吹牛。objective-c,swift这两门编程语言,如果你要懂一点。可以看到这个理论的影子。当然这两门语言有专用编译器。跟c实现的面向对象编程有区别。 总结下来,用c实现面向对象,编程,难度大,不是写应用程序开发人员该考虑的。建议别往这方向编写程序。如java,c++,swift等等这些语言,能面向对象编程:
1、编译器的难题别人解决了;
2、很多很多的基础功能,按系统类库已经提供,我们不用去编写。
c语言和c++都是面向对象的吗?
C语言不是面向对象语言而c++才是面向对象语言。C语言是面向过程的语言,c++在C语言的基础上,增加了面向对象的内容,而且c++是完全兼容C语言的,也就是说,不管你用C语言还是c++语言来编写程序,都可以使用c++语言的编译器来编译你写的程序。
c语言是面向过程的语言?
是的,C语言是面向过程的语言。面向过程程序设计意味着您需要分析问题,并将这个问题分解为不同的步骤或子问题,然后编写函数来依次解决这些步骤和子问题,最后串接起来就解决整个问题。
而面向对象则意味着需要把问题抽象为类和对象,并通过封装、继承和多态等手段解决问题。