程序设计——意图与逻辑 (二)

来源:互联网 发布:托福 知乎 编辑:程序博客网 时间:2024/05/16 19:10

程序设计——意图与逻辑

  • (1)函数没有成员的概念

函数与外界的交互

因为一个全局函数无法向类一样持有外界作为自己的成员,函数与外界交互的唯一方式,即是将外界作为自己的参数传递进来,进行处理。

适配器(Adapter)与包装类

所谓适配器,必然其内部维护着一个更加底层的类,比如 STL 中的栈(stack)和队列(queue)是对双端队列(deque)的改造(也即是适配),也即在二者的内部,必然维护着双端队列作为自己的内部容器。同样的,包装类也是如此,不然它包装谁去呀。

“私有”全局函数

不被外部调用(只被所属类的其他成员函数)的成员函数,我们将其声明为 private,其实也存在一些全局的函数,被其他全局函数调用,而不直接在客户端调用,但在客户端调用是合法的,这大概算得上面向过程语言的一大弊端吧。

关键字

关键字的本质,就是向编译器传达意图,不同的关键字的叠加,就是意图的叠加。
比如 C++ 语言的 virtual 关键字,就是告诉编译器,我是虚函数,要为包含我的这个类创建虚表(vtbl),并在对象模型中维护一个指针(vptr)指向这一虚表。
再比如在 Python 2.x 中,除法运算符,/,两个整数相除默认是结果的取整部分的,除非显式将分子或分母类型转换为float,
到了 Python 3.x,就将 / 分化为了 / 和 //,使用//进行整数相除,保留结果的整数部分。这便是像编译器传达的暗示;

0 0
原创粉丝点击