java类中为什么设置set 和get 方法操作属性
来源:互联网 发布:win7 linux双系统bios 编辑:程序博客网 时间:2024/05/22 11:58
样例一:
class person {
public String name ;
public String sex ;
}
如上这么一个类我们可以对它的实体进行:
起名操作,如
person1.name = "小明";
取名操作,如
person1.name;
样例二:
class person{
private String name;
private String sex;
public String getName(){
return this.name;
}
}
如上这个类,我们对它只有一种操作:
取名操作
person2.getName();
如果你还想有个起名操作,那就再设置一个set方法。
好了通过前面的两个说明例子,是不是悟到了什么呢,没错了!单纯的将属性公开那我们就失去了对这个类的操控能力,别人对这个属性进行设值取值都可以,你不想让别人设值都不行;而我们将属性隐藏,用方法去操控对属性的设值和取值,那么控制就在我们的手上了。如果这么说还不明白,我改一下上面第二个例子。
class person{
private String name;
private String sex;
public String getName(){
if(this.sex !=null && "女".equals(this.sex)){
return this.name;
}else{
return "就不告诉你!";
}
}
public void setName(String newName){
if(this.sex !=null && "女".equals(this.sex)){
this.name=newName;
}
}
}
上面改造的例子应该看明白了吧,属性私有了,只能通过方法去起或取名字,但并不是谁都能起名或取名成功的。方法中明确了,只有当实体人为“女”的时候你才能起名或取名。这只是个简单的例子,你也可以根据你自己需求去改造起名或取名中的限制。在此只是为了说明这么做是具有一种灵活性,可操作性。
从Java 编程思想的角度来讲,由于Java是面向对象编程,什么东西都是作为一个对象来讲,外部能看到摸到(操作和设置)的只有接口(对应对象中的公开方法)。为了圆这个思想,这个规范,属性就得私有了。其实每一个Java类都是由 属性+方法 构成的。我们对这个类的实例能动的只有方法。这种由思想规范写出来的类对类来说就比较安全;对调用这个类的人或是对象来说也比较省心,他只要关注你这个接口要传什么东西然后得到什么东西,你内部有什么属性怎么实现这个接口的,压根就不关心,多省事。 对了,这种思想学名"封装"。
(最后说明:以上代码是写这个文章的时候纯手写,没有调试运行,如有语法或其他错误请见谅,只是起说明作用)
阅读全文
0 0
- java类中为什么设置set 和get 方法操作属性
- java类中为什么设置set和get方法
- java类中为什么设置set和get…
- java类中为什么设置set和get
- 【封装】java中为什么要将属性进行私有化,又使用set和get方法来设置和获取属性呢?
- java类在JAVA中定义类成员用属性set和get方法表示
- 在JAVA中定义类成员用属性set和get方法表示
- java 中对类中的属性使用set/get方法的意义和用法
- java 中对类中的属性使用set/get方法的意义和用法
- Java中对类中的属性使用set/get方法的意义和用法
- java中set()和get()方法理解
- java中获取set和get方法
- Java中获取set和get方法
- Java中属性私有,使用get/set方法的目的
- java中boolean属性的set,get方法
- VS中自动生成属性get和set方法
- VS中自动生成属性get和set方法
- 详解ActionScript中set和get方法,java中set和get方法
- (一) odroid-xu4交叉编译过程
- C语言实验——判断素数(循环结构)
- Fiddler系列教程1:初识Http协议抓包工具
- 架构师
- Mysql中的增删改查
- java类中为什么设置set 和get 方法操作属性
- LMS算法
- [2017集训队作业自选题#115]Replace All
- FastDFSClient 操作工具
- 使用truncate删除表
- html5相关知识
- Hadoop单机模式和伪分布式搭建教程CentOS
- PHP常见问题总结
- ObjectMapper 简单使用