JAVA 面向对象之------封装
什么是面向对象?
面向对象(Object Oriented Programmng)是以对象为中心。面向对象是把一项工程看成是一个个对象组成,这些对象之间的相互关系,构成了整个项目。其中,类和对象是构成面向对象的程序的主体。面向对象的思想特点在于,它是一种更符合我们思想习惯的思想,可以将复杂的事情简化,将我们从执行者变为了指挥官,角色发生了转变。面向对象的开发工作就在于不断的创建对象、使用对象、指挥对象去做事情。
面向对象的三大特征:封装(encapsulation)、继承(inheritance)、多态(polymorphism)
封装的定义
封装在面向对象中指的是将类的属性的可见性设置为private,避免了将类的属性直接暴露给外界。这样,在类的外部就不能直接使用“对象名.属性名”的方式对类的属性值进行访问和修改。
封装后的类属性该如何访问?
封装后的类的属性是被private修饰的,仅对于当前类可见,那么该如何对类的属性进行赋值和访问呢?
在封装类里为所有的成员变量提供了set、get方法,这两个方法的可见性都是public,我们可以通过set方法对成员变量赋值,然后通过get方法区访问到类的属性值。
示例:
- 封装前:
public class Student {
public String name;
public int age;
public String gender;
public int number;
}
- 封装后:
public class Student {
private String name;
private int age;
private String gender;
private int number;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}