黑马程序员技术交流社区

标题: JAVA类成员变量set,get和C#类属性的 set,get对比 [打印本页]

作者: 曲终烟尽    时间: 2015-5-28 11:30
标题: JAVA类成员变量set,get和C#类属性的 set,get对比
今天看到毕老师视频里讲到Java类 私有成员变量 的赋值和获取,他自己要写两个函数,一个set,一个get.
代码很冗长,如果有很多变量那就要写很多 set和get.
前段时间学C#基础时,在C#类 里 成员变量在声明时可以这么声明:
一下为C#代码
public int Age{set;get}//这一句声明了一个int型Age属性,可以直接对其进行赋值和取值操作

Person p=new Person();
p.Age=10;
int a=p.Age;
//下面这种方法声明了一个属性的同时就写了set和get,不用再写两个新的set,get函数了。
private int age;
      public int Age          //属性,Age没有保存数据,都是保存到age里了。
        {
            set                  //赋值操作
            {
                if (value < 0)  //通过value控制想要的值的范围
                {
                    return;
                }

                             
                this.age = value; //value代表用户赋值过来的值
            }
            get                 //取值操作
            {
                return this.age;
            }
        }
    }
感觉C#这种方式更好一些,它也可以不写字段(private int age),只写属性,一样能使用和控制值的范围。
不知道Java中有没有更好的方式来实现像C#这样的简单的语法呢。?
作者: 雪域星辰    时间: 2015-5-28 11:46
你感觉哪种更严谨一点呢。本身C#跟java很像。你要是想省事来简化语法的话。那你定义好实体类的属性后直接用eclipse自动生成set,get方法不是更快捷。。。
作者: 曲终烟尽    时间: 2015-5-28 16:37
雪域星辰 发表于 2015-5-28 11:46
你感觉哪种更严谨一点呢。本身C#跟java很像。你要是想省事来简化语法的话。那你定义好实体类的属性后直接用 ...

装了有eclipse,还没学到用这些功能。
作者: 石头888    时间: 2015-5-28 16:41
学习学习!
作者: lizhi    时间: 2015-5-28 17:44
学到后面了可以用构造方法给私有成员变量复制,而且eclipse中有快捷方式不需要敲了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2