TOP

C语言的面向对象概念详解
2014-11-23 21:38:09 】 浏览:10075
Tags:语言 面向 对象 概念 详解

OO思想在Unix世界中很早就有:UNIX把设备抽象成文件,这样就可以用一套相同的方法(open, read, write, close, ... )去访问不同的设备和文件――尽管设备之间的差异很大。用OO的观点来看,这些“设备”对象都实现了"文件操作接口",可以想象有一个叫"文件"的基类,定义了"文件操作接口",“设备”对象继承了“文件”对象....。在实现角度看,在内核里面,设备驱动提供了自己的read, write等实现,并用它们去填充文件操作结构体里面的函数指针....这和C 里面的虚函数运行时绑定的道理是一样的。( C 虚函数是其实是运行时静态绑定,而文件操作接口可以运行时动态绑定 :-)

Linux内核中则处处体现了OO的思想。2.6内核的Device Driver Modal是一套层次分明又错综复杂的机制,其中体现了许多OO设计理念。虽然可能设备驱动 程序开发者觉察不到,但所有的设备驱动对象内部都隐藏了一个叫 KObject的对象。内核把这些KObjects互相联系在一起,并通过KObject的相互关系构造了/sys文件系统。/sys就是内核中各种设备对象的映射图,如果把/sys全部展开,我们可以清楚地看到各种对象的关系。

实践证明,C也可以很好地用于OO 编程,而且可以用于构造很复杂的 系统,而且C在表达OO思想的时候并不会显得蹩脚,而是可以很简单,很自然。

C语言的面向对象概念详解 https://www.cppentry.com/bencandy.php?fid=45&id=19803

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇制作C语言共享库步骤详解 下一篇C语言开发者都需要学习什么?