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

来源:互联网 发布:域名的ip地址查询 编辑:程序博客网 时间:2024/06/02 13:06

为什么封装?

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



0 0