我想请问有关getter/setter的用法

Home Home
引用 | 编辑 woodlay
2008-03-22 23:39
楼主
推文 x0
最近学JAVA
由于上的课程大多是有专案开发经 ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 overing
2008-03-23 09:05
1楼
  
就是对private的资料给两个public方法进行存跟取
主要是因为OO的属性封装理念
类别内的资料因为安全性考量对外通常不允许直接存取
经由类别提供的 g/s 两个副程式被资料进行存取
复制程式
class MyClass {
    private int num1 = 0; //私有属性, 防止外部直接存取
    public void setNum1(int val) {
        //检查val是否为可接受格式或对数据进行整理
         this.num1 = val;
    }
    public int getNum1() {
        return num1;
    }
}

不过这部分
getter / settet 这种做法也有争论
说是 g/s 作法反而违反了OO的初衷
并不是所有的属性都适合 g/s 做法

我的看法是 g/s作法有它的必要性
但是要看场合, 看用途跟背后的意义
当然~我说的也不一定就是对的... 表情

献花 x0