封装是面向对象三大特征之一,相对来说十分容易理解,但其实用性非常的高,之后无论是学习还是做项目都需要用到封装这个概念。
封装
封装的意思就是把一个对象的属性和方法“封闭”成一个整体,只提供一些方法供其他类使用。就好比来说我买了一台电视,普通人能对它做的只有开,关电视。因为厂家在生产时,把电视的内部全部“封闭”了起来,让普通人无法去接触到电视的内部,这就可以叫做对电视内部零件的“封装”。至于开关电视这个动作,则是调用电视内部的“方法”。
优点:
- 提高代码的安全性。(不让外界访问内部属性)
- 提高代码的复用性。(和继承类似)
- “高内聚”:封装细节,便于修改内部代码,提高可维护性。
- “低耦合”:简化外部调用,便于调用者使用,便于扩展和协作。
举例:
class Person{
private int age;
private String name;
private boolean man;//判断是否是男性
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 boolean isMan() {
return man;
}
public void setMan(boolean man) {
this.man = man;
}
}
上面代码就是对一个Person类的封装,可以看到它的每个属性都使用了private修饰符进行修饰(private细节就不说了),而方法则使用了public进行修饰。
总结一下:
- 封装就是对类中的属性私有化,方法公共化。
- 属性私有后就无法被外界调用,想要调用就需要使用Get,Set方法。
- 对于boolean类型,get方法的方法名改成is…(如上面getman方法改成isman方法)
其余两篇的链接:
面向对象(一):继承
面向对象(三):多态