Java面向对象编程 -2

成员属性封装

在类之中的组成就是属性和方法,一般而言方法都是对外提供服务的,所以是不会进行封装处理的,而对于属性需要较高的安全性,所以往往需要对其进行保护 这个时候就需要采用封装性对属性进行保护。
在默认情况下,对于类中的属性是可以通过其他类利用对象进行调用的。
解决办法:可以利用private关键字对属性进行封装处理。
而属性一旦封装之后外部将不能够直接访问,即对外部不可见,但是对类的内部是可见;
那么要想让外部的程序可以访问封装的属性,则在Java开发标准中提供了如下要求:

  • setter getter设置或取得属性可以使用setXxx()、getXxx()方法;以private String name;为例
    • 设置属性方法: public void setName(String name);
    • 获取属性方法: public String getName();
class Person{
    private int age;
    private String name;
    
    public void setAge(int a) {
        age = a;
    }
    public int getAge() {
        return age;
    }
    public void setName(String n) {
        name = n;
    }
    public String getName() {
        return name;
    }
    
    public  void intorduce() {
        System.out.println("age= "+age+" name= "+name);
    }
}
public class xxx {
    public static void main(String[] args) {
        Person per1 = new Person();
        per1.setAge(16);
        per1.setName("sakura");
        per1.intorduce();
    }

}

>>>age= 16 name= sakura

在以后进行任何类定义得时候一定要记住,类中的所有属性都必须使用private封装(标准做法 90%),并且提供有setter和getter方法。
封装性是java面向对象的第一大主要特征 ,封装性不仅仅是一个属性封装这么简单,它跟访问权限有关。

猜你喜欢

转载自www.cnblogs.com/sakura579/p/12321171.html