面向对象之封装
封装是面向对象最重要的特征之一,封装就是指隐藏。
对象隐藏了数据(例如private属性),避免了其他对象可以直接访问使用对象属性而造成耦合度过高,过度依赖。同时也可以阻止其他对象随意修改对象内部的数据而引起对象的不一致,要访问对象的数学,必须使用对象提供的相关函数。
对象隐藏方法的实现细节。
a)使用者只能使用公有方法而不能使用那些受保护的或者私有的方法,你可以修改这些非公有的方法而不影响使用者。
b)可以隐藏具体类型,使用者不必关心对象的真正的类型就可以使用它们(依赖于接口或者抽象带实现)。
c)使用者无需关系那些与使用者无关的类,减少耦合。
由于只能通过公用接口和方法是用他们,这样,客户程序就不能使用那些受保护的方法(如采用private 或protected关键字修饰的方法),而你可以随意改变这些方法,并不会影响使用者,这样降低了耦合度。
class Person implements Display{
private int age; //属性的隐藏
public Person(int age, String name){
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}