封装(面向对象的三大特征)
大约 1 分钟
封装(面向对象的三大特征)
介绍
封装 (encapsulation) 就是把抽象出的数据 [属性] 和对数据的操作 [方法] 封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作 [方法],才能对数据进行操作。
封装的理解和好处
- 隐藏实现细节: 方法( 连接数据库 ) <-- 调用( 传入参数...)
- 可以对数据进行验证,保证安全合理
封装的实现步骤
- 将属性进行私有化 private ( 不能直接修改属性 )
- 提供一个 set 方法, 用于对属性判断并赋值
- 提供一个公共的get方法,用于获取属性的值
演示
不能随便查看人的年龄,工资等隐私并对设置的年龄进行合理的验证。年龄合理就设置,否则给默认,年龄必须在 1-120,年龄,工资不能直接查看, name 的长度在 2-6 之间
public class Test {
public static void main(String[] args){
Person p1 = new Person();
p1.setName("杨胜军");
p1.setAge(27);
/** 调用构造器 */
Person p = new Person("杨胜军", 10);
System.out.println(p.info());
}
}
class Person {
public String name;
private int age;
/** 使用构造器 调用 set 方法 */
public Person(String name, int age){
setName(name);
setAge(age);
}
/** get 方法 */
public String getName() {
return name;
}
public int getAge() {
return age;
}
/** set 方法 */
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
/** 输出信息 */
public void info(){
System.out.println("name=" + this.name + "age" + this.age);
}
}
快速生成 get 和 set
