面向对象之类的三大特性之封装

封装:就是将每个对象的数据(属性)和操作(行为)包装在一个类中。一般属性定义为私有,方法定义为共有。

属性,只有内部的方法可以访问私有的属性,方法设置 为共有,外部可以访问。

示例:

     public class Student {
private String name;
private char sex;
private int age;

public void study() {
System.out.println("张三学习");

}

测试函数调用:

                        

           

所以,一般情况下,属性设置为私有,方法设置为共有。

那么,设置为私有的话,如何设置属性的值呢?

下面我们就这样来设置

     public class Student {
private String name;
private char sex;
        private int age;
Student(){
}
public String getName() {
return name;
}
public void setName(String name) {                  
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age >0 && age <120) {
this.age = age;
}else {
System.out.println("年龄只能在0-120之间");
}
}


public void study() {
System.out.println("张三学习");
}


}

单元测试:


运行结果:

      

解析:从我们的代码来看,我们通过在对象里面进行设置了get(),set()方法,并且通过自己的一系列逻辑进行对年龄的设置,这样在函数调用的时候就特别方法,只用调用自己封装好的方法就可以设置值,传参数。类的封装就是把类内部的某些属性封闭起来,防止外部方法调用,属性设置传参等,通过设置函数来进行传参,简化,增加了代码的复用性,即就是封装特性。

猜你喜欢

转载自blog.csdn.net/goforitaaa/article/details/80795816