首先说明:在一个类中设置 set 和 get 方法是为了方便另一个类去对该类里面的属性或者对象进行值的获取和传入操作
有两种操作方式:
方式一(简单一点):
类 A 想要获取类 B 里面的属性值:
class A{
B b = new B();
b.args
}
class B{
public int args
{
set; get;
}
args = 1;
}
方法二:
class A{
B b = new B();
b.args
}
class B{
private int ARGS; // 这个是本类的属性,其他类是不可见的
public int args //这个 args 是其提供给他类操作的
{
set{ARGS=value;}
get{return ARGS;}
}
ARGS = 1;
}
在类 B 中定义了两个属性:ARGS 和 args,这样做的原因是
第一:可以保护本类中的属性不受任意“侵犯”,这里的“侵犯”也就是其他类通过 set 方法给其随便赋值,set 方法里面的 value 就是其他类要给赋的值,比如在类 A 里面我可以这样写:
B b = new B();
b.args = 10000000000000;
此时就是通过 B 里面的 set 方法将 10000000000000 赋值给了value,而value又把它赋值给了类B里面的私有属性 ARGS,但是如果我在 set 方法里面做一个if 条件判断,就可以阻挡一些不规范的值过来,这就达到了不被随意“侵犯”的目的
第二:隐藏了 B 里面的私有属性 ARGS,也就是说在一些情况下,你可以对我 B 里面的私有属性 ARGS 进行赋值和取值操作,但是你是通过我定义的一个“别名”:args 操作的,并没有直接操作我类内部的私有属性 B,这在一些情况下确保安全性也是必要的
还有一点:如果想在类 A 里面获取的 B 对象对整个类 A 内的方法都适用,注意把 B b = new B();这句话声明在类 A 的方法体外(相当于全局对象)