为什么封装?
婴儿太多了,所以我们会考虑将每个出生的婴儿的文档我们都会放于一个盒子里,这样方便以后我们查询他的身份证信息。于是在这个盒子上,我们打了一个孔,叫setXXX()方法,如果是身份证,我们就取名setCode()方法,这样就将一个人的身份证信息建立set了。但放进去后,我们有时候还需要检验这个人的身份证信息,所以我们又打了一个孔,叫getXXX()方法,对应于setXXX()方法。
对了,每个人的姓名和身份证号都是独一无二的,为了防止别人随意的修改这些信息,我们将这些信息标记为私人的,也就是私有的,英文表示就是private。 所以我们会表示为private String code;而仅仅是String code;
这样我们就把这些信息装入了一个盒子里,并保证了他的安全性。
封装原则
* 将不需要对外提供的内容都隐藏起来。private
* 把属性隐藏,提供公共方法对其访问。setXXX(), getXXX();
为什么会有this呢?
package com.junc.test;
public class Test {
public static void main(String[] args) {
Car car = new Car();
car.setSex("男");
System.out.println(car.getSex());
}
}
class Car {
private String name;
private String sex;
private String code;
private String address;
public void setSex(String a) { //我们将“男”传给了a,但是对于不理解的人来说,a是什么意思,这不符合命名规则
sex = a;
}
/**
* 于是,我们将a换成了sex,问题又来了,我们将sex = sex,不就说性别是性别么。让人无法理解
* 于是,我们说将传过来的性别,给我们这里(this)定义好的性别,这里就是this.sex,this代表成员变量
* 所以就写成this.sex = sex;
*/
public void setSex(String sex) {
this.sex = sex;
}
public String getSex(){
return sex;
}
}