C++中的property库的设计与实现过程(一)
虽然现在很忙,有很多事情要做,但是脑子里总在想一些稀奇古怪的事情而停不下来。比如说这个property,就是我最近睡觉前想的最多的东西。特别是前几天,不小心被关在实验室没法出去只好在这里睡觉,睡觉前又想到这个property,于是手痒,动手真的把粗糙的想法实现了一遍。
在说如何实现之前,首先应该说说什么是property,以及为什么要做这么一个东西。
property首先应该是Borland C++引入的新的C++关键字,它很方便但是不标准,C++标准化组织也从来没想过把它纳入标准。至今为止,我觉得最爽的property应该属于.Net里面的实现,比如说C#:
很容易发现,如果我愿意把X作为一个int暴露给外部随便改,那么我直接写
就可以把X变成普通成员了。相反亦然。
这样非常的方便,而且也使得设计人员变得更加的自由:因为他不需要担心今后会因为X要变成readonly、或者要检查输入、或者其他什么bt需求而对代码伤筋动骨,简简单单的选择实现get或set就好了,而对于X这个接口,却始终能够保持统一。
正因为property有这些好处而C++没有在语言这一层提供实现方法,property库就显得非常有必要了。不过还是必须看到,既然是实现C++非标准的东西,其代码肯定无法好看,那么这个property库也就只能设计成一个基础程序库的样子,他的用户是其他库的编写者。
OK,接下来,我就会开始讨论最基本的property的实现思路和遇到的第一个问题。




}

有话想说?请留下评论吧~~如果喜欢我的blog,欢迎订阅~~
评论
还没有任何评论。
留下评论