封装

java三大特性之一封装,就是把内部数据“隐藏”起来,只暴露少量方法供外部使用,比如日常生活使用的电子产品,使用者只需要知道怎么去使用,不用去了解其内部构造。

高内聚,低耦合:内部数据不允许多部干涉,仅提供少量方法外部使用

对数据的隐藏,应禁止外部可直接访问对象内部数据,应通过接口间接访问

1.封装的步骤

  1. 使用private修饰需封装的成员变量

  2. 提供get/set方法供外部访问私有的内部成员

    public class Student{
    	private String name;
    	private int age;
    	private int ID;
        
        public Student(){}
        public Student(String name,int age,int id){
            this.name = name;
            this.age = age;
            this.ID = id;
        }
        //通过set方法让外部可以设置成员变量
    	public void setName(String name){this.name = name;}
        public void setAge(int age){this.age = age;}
        public void setID(int id){this.ID = id;}
        //通过get方法可以获取成员变量的值
        public String getName(){return this.name;}
        public int getAge(){return this.age;}
        public int getID(){return this.ID;}
    }
    

    在set方法中可以对数据合法性、完整性检测,让程序规避不合法的数据,如年龄应该在0~100之间,名字应该在32个字符内,学员id应该不超过20个数字等

2.作用和意义

  1. 成员私有化,保护了数据
  2. 提高程序的安全性、可维护性
  3. 统一用户的调用接口,便于调用者调用

由于成员私有化提供了访问接口,外部无法直接操作,保护了数据,提高程序的安全性,也对数据进行了合法的检测,确保了合法性;由于设罟了get/set方法使得代码更清晰,也提高了可维护性,方便外部调用

3.方法的重载

方法的重载可以提供方法调用的灵活性。

  1. 方法名必须相同
  2. 参数列表必须不同(参数的类型、个数、顺序的不同)
  3. 方法的返回值可以不同,也可以相同。
public void test(Strig str){}
public void test(int a){}

public void test(Strig str,double d){}
public void test(Strig str){}

public void test(Strig str,double d){}
public void test(double d,Strig str){}

posted @   hello_12153_98  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示