Day07-2.封装

封装

  1. 概述:在实际生活中每个人的信息都应该是隐藏的,不是让其他人随意知道。所以在程 序中定义的各种属性也应该是隐藏的,不让其他类型随意的访问。
  2. 封装的方式:
    关键字:private
    使用原因:为了保证属性的安全性,使用关键字封装
    效果:被封装后的属性,只能在本类中被访问,一旦出了这个类型就不能直接访问
  3. 使用封装之后的问题:
    不能在其他类中访问,定义这个类型没有任何意义
  4. 解决问题:
    提供公共的访问方式
    属性使用,一般是赋值,或者取值
    如果给属性赋值:提供一个set方法
    如果获取属性的值:提供一个get方法
  5. 封装的原则:
    隐藏事物的属性,提供公共的访问方式
  6. 封装:
    提高数据的安全性

代码

package demo02;

public class Person {
    private String name;
    private int age;
    //给name属性提供一个存储的方法
    public void setName(String n){
        name = n;
    }
    //给name提供一个取值的方法
    public String getName(String n){
        return name;
    }
    //给age属性提供一个赋值的方法
    public void setAge(int a){
        age = a;
    }
    //给age属性提供一个取值的方法
    public int getAge(){
        return age;
    }


    public void eat(String num){
        if(num == "123"){
            System.out.println("吃饭");
        }
    }
}

封装的优化

  1. 一般在定义参数或者定义方法时,要求做到见名知意
  2. 问题:为了做到见名知意,将set方法的参数名都定义为和属性名相同
    定义之后,无法给到对象的属性赋值了
  3. 解决方案:
    使用一个关键字:this
    通过this修饰的变量名表示是对象中的属性
  4. 变量的访问原则:就近原则
    如果在某一个方法中,使用一个变量。首先先去当前方法中寻找,有没有该变量的定义, 如果有定义,就直接使用;如果该方法中没有该变量的定义,就去对象中寻找,有没有 定义,如果有就使用,如果没有就编译报错。
  5. 总结:
    如果使用某一个变量,该变量没有通过this修饰,根据就近原则访问
    如果使用某一个变量,该变量使用this修饰,直接表示对象中存储的属性
  6. 图示:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值