JavaSE面向对象基础_封装

封装

在面向对象程式设计方法中,封装Encapsulation是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。

  • 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问
    • 反射机制
  • 要访问该类的代码和数据,必须通过严格的接口控制。
  • 封装最主要的功能在于能修改自己的实现代码,而不用修改那些调用代码的程序片段
  • 适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
//第一步是确定研究的目标对象---可以区分的独立个体
// 需要方法和属性
class Student {
    
    
//成员属性---静态特征的描述
private boolean sex; //一般使用私有属性,共有的get/set方法
//成员方法---提供的功能描述
public boolean getSex(){
    
    
return this.sex;
}
//不允许修改sex,所以不提供set方法
protected void setSex(Boolean sex){
    
     //如果在特殊情况下允许修改,可以使用范围限
定词进行表示
this.sex=sex;
}
}
//构建对象
Student s1=new Student();
s1.setSex(true);
s1.setSex(false); //是否允许取绝于限制

封装有三大好处

  • 良好的封装能够减少耦合
  • 类内部的结构可以自由修改
  • 可以对成员进行更精确的控制
  • 隐藏信息,实现细节

4个关键字

用于进行访问控制

//一个文件种可以定义无数个类,但是只能有一个public class公共类 
public class Student {
    
     //类的范围限定词分为2种情况。外部类的范围限定词可以使用无范围 限定词和public两种;而内部类上可以使用4种范围限定 
	//成员属性,类种包含哪些静态特征取决于问题本身 
	private Long id; //private只能在当前类中直接访问 
	protected String name; //protected可以在同包或者子类中直接访问 
	int age;//没有范围限定词,默认或者package限定词,只能在同包中直接访问 
	public double salary;//public到处可见 
	//一般规则是私有属性,共有的get/set方法 
}

记忆的方法
在这里插入图片描述
类定义规则:要求类内高内聚,类间弱耦合

  • 封装确实可以使容易地修改类的内部实现,而无需修改使用了该类的客户代码

猜你喜欢

转载自blog.csdn.net/qq_39756007/article/details/127233067