“封装”详解

封装(数据的隐藏)

  • 我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用。
  • 记住:属性私有,get/set
  • 封装主要用于属性,少用于方法
package com.mypackage.oop.demo04;

public class Student {
    //属性:
    //名字
    private String name;
    //学号
    private int id;
    //性别
    private char sex;
    //年龄
    private int age;
    //------------------------------------
    //方法:
    //学习()
    //睡觉()
    //提供一些可以操作这些私有属性的方法:
    //提供一些public的get、set的方法:
    //get  获得这个数据
    public String getName(){
        return this.name;
    }
    //set  给这个数据设置值
    public void setName(String name){
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if(age <= 120 && age >= 0){
            this.age = age;
        }else{
            this.age = 3;
        }

    }

}


//快捷键  alt + insert  自动生成get、set

/*封装的意义:
1.提高程序的安全性,保护数据,比如,我们可以在封装中做一些限制来保护数据使其合法
2.隐藏代码的实现细节
3.统一接口
4.系统的可维护性提高了
 */
package com.mypackage.oop.demo04;

public class Application04 {
    public static void main(String[] args) {
        Student s1 = new Student();
        //s1.name;      //用不了,name是私有的
        s1.setName("何小黑");             //先setName
        System.out.println(s1.getName());     //再getName

        s1.setAge(999);
        System.out.println(s1.getAge());

        s1.setAge(18);
        System.out.println(s1.getAge());

        //println其实也是一个方法,是一个重载了很多类型参数的方法
    }
}
//输出
何小黑
3
18

进程已结束,退出代码0

你可能感兴趣的:(狂神说Java系列笔记,java,开发语言)