面向对象编程特性——封装

面向对象的编程语言,拥有三大特性,分别是:封装,继承,多态。

封装:封装是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作访问

封装的好处:

1:提高了安全性

2:提高了复用性

3:隐藏了实现细节

在卖你想对象的过程中,我们通过”权限控制”对封装好的类加上权限,来限制外来者对类的操纵,借以达到保障类中数据和方法的安全性的目的。而这种权限,可以用来控制属性和方法的访问范围

访问权限修饰符

修饰符 同一个类 同一个包 子类 所有类
public 公有的
protected 受保护的
default 默认的
private 私有的

封装的步骤如下:

1:尽量让权限讲到最低,在类里要将属性前添加private修饰符,从而而提高安全性

2:在类中定义 getter和setter方法,在方法内设置取值范围

3:最后,在我们的main 函数里的对象,不能在直接调用属性了,只能通过getter和setter方法进行调用

封装:

public class Demo01 {
    public static int add( int a,int b){
        return  a+b;
    }
    public static void main(String[] args) {
        System.out.println(1+1);
        System.out.println(1+2);
        System.out.println(1+3);
        System.out.println(1+4);
        System.out.println(1+5);
        System.out.println(1+6);


        System.out.println(add(1,1));
        System.out.println(add(1,2));
        System.out.println(add(1,3));
    }


}

上述案例:为了避免不断地+操作,把两数相加写入add方法中,后续直接调用add方法。把具体的操作流程统一管理在add方法中,该过程就是封装的一种集体表现形式

类的封装

public class Demo02 {
    /**
     * public    共有
     * protected   受保护
     * private   私有
     *
     * */

    //把属性私有化
    private String name;
    private   int age;
    //对外提供属性的设置方法
    public void setName(String name){
        this.name = name;
    }
      //对外提供属性的访问方法
    public  String getName(){
        return  this.name;
    }
}

属性的访问权限尽量给的很小

对外单独提供访问方法

setName给属性赋值

getName读取属性的值

你可能感兴趣的:(面向对象编程特性——封装)