模块:一个源文件及其中所有方法定义
局部变量:包含在{}中的变量,生命周期和作用域也在{}中,默认乱码
实例变量:属于对象的变量。
全局量:在任何{}之外定义的量。通过extern声明可以让作用域为程序中任何地方,生命周期和程序一样,默认有初值
static修饰符:让局部变量生命周期同程序,让全局量作用域为本模块
实例变量有public,protected,private三种修饰,定义在接口中默认protected,实现中private.
静态全局量通常由类方法访问,比如类的分类器用静态的count来记录类创建的对象数目。即变量公有的同时部被类外部方法访问
封装和数据隐藏的原则说明,实例变量一般是私有的,应该定义在实现中,方法一般是公有的,定义在接口中
1.如果想让变量被子类继承,则将其定义到接口中。(pri to pro)
2.如果想让变量能被类外部直接设值和取值,则定义为属性。(pri to pub)
属性不是将变量公有,而是简化了设值和取值,并且可以通过自定义改变这两个方法来有机会干一些事情(管理内存,复制值等)。
1.如果想隐藏方法,可以将其定义到实现中,在编译环节保护方法(pub to pri),虽然可以强制访问,但几率很低