编码规范问题, 变量命名, 大家帮忙啊! ( 积分: 50 )

  • 主题发起人 主题发起人 xyyct
  • 开始时间 开始时间
X

xyyct

Unregistered / Unconfirmed
GUEST, unregistred user!
简单问题: 类的成员变量是不是包括private, protected, public 各部分里的?
类的私有域和公有域的变量命名应加什么前缀以示区别?
麻烦解释一下单元全局的含义?
 
简单问题: 类的成员变量是不是包括private, protected, public 各部分里的?
类的私有域和公有域的变量命名应加什么前缀以示区别?
麻烦解释一下单元全局的含义?
 
在大部分的类写法中变量都是写在private私有域中的,以F开头吧
而对外的都是以属性来表示的,然后再通过read和write读写私有域中的变量,一般属性不带前缀。
单元全局指不管你的变量是写在private还是public对于同个单元中的不同类还是可以访问的,(书上说相当于c++中的友元类)
 
没有什么规定,可以依自己的爱好进行。然在DELPHI编程中,大家约定成俗的是:
1、私有域的变量以F为前缀;
2、公有域很少设置变量,多以属性出现,属性不用前缀
 
取其前三个字母作前缀不就行了吗?最多用下划线隔开。
 
同意 樓上
 
类的成员变量可以放在private, protected, public 各部分里的,只是放在不同部分代表不同的意义及被访问的方式,对内部单元来说是没多大区别的,但对于外部及继承访问就有限制了,一般情况下私有域变量特别是private以F开头命名,其他没什么限制只要表达以名表意就可以了,其实也不是太限制了,只是对于组件类的开发有更多的命名规则。单元全局:如果是单独一个单元而不是指窗体单元,系统初始运行时就会装入内存的。
 
To wrl_001:
1. 以F 开头的变量确实是定义在private 中, 但这些变量好像是与public 中的property 一一对应供设置property 使用的. 那会不会有只是类本身调用又不与property 有关的变量呢? 如果有, 又该怎样定义? 加什么前缀?
2. public 里是不是不用定义变量, 用property 就好? 在VC++ 的Class wizard 里添加成员变量以m_ 打头, 好像是加到了public 里, 麻烦大侠给个意见.
3. 那单元全局的变量该定义到哪里呢?
各位帮帮忙! 解决了马上结帖.
 
To weiliu: 呵呵, 谢谢建议, 但这个习惯可不好啊.
 
1、在类中,理论上除published不能定义变量外,其他地方都可以定义变量。只是为了增强类的封装性,人们才将变量定义在private中。
2、private定义的变量不一定要与property一一对应。其以F为前缀也非必须,只是人们的一种习惯约定而已。
3、property也不一定要在published中定义,其他各段中也可以定义,以提供一种通过属性名赋值访问变量的途径。
4、单元全局变量定义有两个地方:一是interface段,这里定义的变量其他单元可以访问;二是implementation段,这里定义的变量只有本单元可以访问。
 
多谢冰凌.
第四点, 在D 里面是这样的, 但C++ Builder 里面我要把单元全局变量定义到哪里呢? 该怎么定义? 只是本单元各个类可以访问, 其它单元不能访问.
public 里的Set 和Get 函数有没有必要加前缀, 需要的话该加什么呢?
谢谢, 帮一下兄弟喽.
 
1、C++本人不熟悉,不可乱说。
2、Set和Get方法没有必要加前缀,只要方法名与property定义保持一致就行。但在编辑过程中,为它们加上Set和Get作为前缀是一个非常好的编程习惯,可增强程序的可读性。
 
多谢冰凌, 我再另外开帖请教.
 
多人接受答案了。
 
后退
顶部