面向对象特征之一:封装性
一问题引入:
当我们创建一个类的对象后,我们可以通过“对象.属性”来调用属性对属性进行赋值。赋值只受变量类型和变量范围影响限制,但是在实际问题中还有其他的限制条件,在这类问题中我们要将限制条件加入,这时这些限制条件的加入就不能在属性赋值声明时体现,只能通过方法将这些限制条件加入。如果想得到符合条件的属性只能通过方法来得到,因此为了得到符合限制条件的属性,我们通过方法来调用得到符合条件的属性,而不能直接通过“对象.属性”来调用属性。为了避免用户在使用“对象.属性”调用属性并进行赋值。需要将属性声明为私有的(private)
此时,针对属性就体现了封装性
二封装性的体现
我们将类的属性(xxx)私有化(privact),同时,提供公共的(public)方法来获取(getxxx)和设置(setxxx)此属性的数值
扩展:封装性的体现:1.如上2不对外暴露的私有方法3单例模式。。。。
三封装性体现,需要权限修饰符来配合。
- Java规定的4种权限修饰符(从小到大排列):private、缺省(属性和方法等前面什么权限修饰符都不加)、protected、public
- 4种权限都可以修饰类的内部结构:属性、方法、构造器、内部类
总结封装性:java提供了4种权限修饰符来修饰类及类的内部结构,体现了内部类在被调用时的可见性大小
面向对象特征之一:封装性
一问题引入:
当我们创建一个类的对象后,我们可以通过“对象.属性”来调用属性对属性进行赋值。赋值只受变量类型和变量范围影响限制,但是在实际问题中还有其他的限制条件,在这类问题中我们要将限制条件加入,这时这些限制条件的加入就不能在属性赋值声明时体现,只能通过方法将这些限制条件加入。如果想得到符合条件的属性只能通过方法来得到,因此为了得到符合限制条件的属性,我们通过方法来调用得到符合条件的属性,而不能直接通过“对象.属性”来调用属性。为了避免用户在使用“对象.属性”调用属性并进行赋值。需要将属性声明为私有的(private)
此时,针对属性就体现了封装性
- 封装性的体现
我们将类的属性(xxx)私有化(privact),同时,提供公共的(public)方法来获取(getxxx)和设置(setxxx)此属性的数值
扩展:封装性的体现:1.如上2不对外暴露的私有方法3单例模式。。。。
- 封装性体现,需要权限修饰符来配合。
- Java规定的4种权限修饰符(从小到大排列):private、缺省(属性和方法等前面什么权限修饰符都不加)、protected、public
- 4种权限都可以修饰类的内部结构:属性、方法、构造器、内部类
总结封装性:java提供了4种权限修饰符来修饰类及类的内部结构,体现了内部类在被调用时的可见性大小
public class person {
private int age;
String name;
public person(){
age=18;
}
public person(int a,String s){
name=s;
age=a;
}
public void setAge(int a) {
if(age>=0&&age<=130){
age=a;
}
else{
age=0;
}
}
public int getAge(){
return age;
}
public String getName(){
return name;
}
}
这里就是将限制条件放进方法里面然后通过方法来调用满足条件的属性,为了让所得的属性都是满足条件的因此在属性前加上private这样就不能直接调用属性只能通过方法来调用满足条件的属性,



