面向对象语言的三大特征-封装,继承,多态
1.封装
把实现的细节包装起来,对外提供方法访问将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节(当然也无从知道),但可以通过该对象对外的提供的接口来访问该对象
-
使用setter方法是因为想修改它的值。
-
使用getter方法是因为想获取它的值(return)。
public class Husband { private int age; private String name;//需要用privat权限修饰词将信息隐藏起来 private wife wife; public int getAge(){ //get方法返回相关变量的值 return age; } public void setAge(int age) { //set方法对相关的值赋值操作 this.age = age; } public String getName(){ return name; } public void setName(String name) { this.name = name; } public void setWife(com.ff.javaOPP.day4.wife wife) { this.wife = wife; } }
public class wife {
private int age;
private String name;
private Husband husband;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName(){
return name;
}
public void setName(String name) {
this.name = name;
}
public void setHusband(Husband husband) {
this.husband = husband;
}
}
封装的好处