[Unity&对象]怎么理解变量public 还是private ,还是使用getset方法定义
来源:互联网 发布:mac 双系统两个windows 编辑:程序博客网 时间:2024/05/31 19:33
怎么理解变量public 还是private ,还是使用getset方法定义
private 变量 只能被自己的 类 调用。
public 变量 可以被其他 类调用。
get set 方法的本质是,为了让 操作代码 的设计师 、程序员明白 这个变量 的使用 条件,和应用的 环境。便于工作 ,优化代码。
在参考资料1中 第30个技巧,提到 可以 使得 不同职能之间 的工作协调,使得 其他设计师 明白自己,能够改变什么变量。
get set 方法的几种使用方法
第1种用法,这种用法仅仅 是改变 了ID 的设置的类型
通常使用在 参考资料7 ,这种快速重构 继承 多接口 的时候。
public int ID
{get;
set;}
第2种用法,这种方法 为了使得 id 被封装(当且仅当id 为private 类型的时候),并且 其他函数可以通过 调用 ID,来改变id。
参考资料3 里面提到 封装性。
public(private) int id;
public int ID
{
get {return id;}
set {id = value;}
}
第3种用法,对 id 进行 条件限制,比如 用这种方法 设置分数, 0<分数<100,避免变量 超出范围,无效。
参考资料5,6 都显示,使用get;set 方法 ,可以对变量 设置IF 语句 进行 条件 的判断。
private int id;
public int ID
{
get {return id;}//get end
set {
if(value>0)
{
id = value;
}//if end
}//set end
}//public int ID end
第4种用法,这种用法 使得 id 这个变量 可以在其他 函数中被设置,get;set方法默认 是public ,可以设置为private ,一旦设置为private ,就只能在这个类中 得到该变量。
private int id;
public int ID
{
private get {return id;}//get end
set {
if(value>0)
{
id = value;
}//if end
}//set end
}//public int ID end
参考资料:
1.
unity使用Unity3D的50个技巧:Unity3D最佳实践
2.
3.
4.
5.
6.
7.[Unity&接口]子类即继承接口类也继承MonoBehaviour的快速操作和重构实现
http://blog.csdn.net/bulademian/article/details/72884513
8.
9.
- [Unity&对象]怎么理解变量public 还是private ,还是使用getset方法定义
- public, protect, private定义变量的区别
- String变量应该定义在方法外还是方法内
- [Unity&对象]怎么使用全局静态变量
- Scala匿名类的函数是private还是public?
- 【Unity&人物属性】人物属性大量设置用set,get方法还是public成员
- js怎么判断代码是方法还是对象
- 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?(个人理解)
- static变量和方法特征,private,public,protected作用范围
- 类,方法,变量(public、protected、private、static、final)
- 使用Volatile变量还是原子变量
- 如何判断变量是数组还是对象
- javascript 类方法定义还是有点区别
- Unity - 杂 - 使用Linear还是Gamma
- private, protected, public快速理解
- 利用宏定义生成getset私有变量函数
- 使用对象,还是对象的指针
- 变量定义在循环体内还是循环外?
- 在eclipse中添加JDK的源码资源
- python "SyntaxError: EOL while scanning string literal"错误
- 【FastDFS】分布式文件系统简介
- Android版-微信APP支付
- 欢迎使用CSDN-markdown编辑器
- [Unity&对象]怎么理解变量public 还是private ,还是使用getset方法定义
- 武器类 ItemWeapon
- 使用gprs发送短信息.借鉴于别人的代码.有点小改动 使用spcomm
- android 轮播图
- HotSpot的垃圾收集算法实现
- Boost】boost::noncopyable介绍
- C++通过bind,lambda表达式等实现简单的异步函数调用模型
- 百度Webuploader 大文件分片上传(.net接收)
- Android 图片处理总结