03 为什么封装,为什么有this?

为什么封装?

婴儿太多了,所以我们会考虑将每个出生的婴儿文档我们都会放于一个盒子里,这样方便以后我们查询他的身份证信息。于是在这个盒子上,我们打了一个孔,叫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;
        }
}


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值