zoukankan      html  css  js  c++  java
  • 封装

    封装

    程序永远追求高内聚,低耦合。高内聚是类中的数据操作细节由自己完成,不允许外界干涉。低耦合指将更少的方法暴露给外界使用。

    封装(数据隐藏):顾名思义,代表将部分不向外展示的程序包封装起来,只留一个操作接口来和外界对接。

    封装分为两部分,一个是封闭程序,一个是设置对接口。private封闭程序,get/set设置出口。封装大多是对属性进行封装,对方法使用封装的时候很少。

    封装的作用

    1. 提高程序的安全性,保护数据

    2. 影藏代码的实现细节

    3. 统一接口

    4. 提高系统的可维护性

    属性私有

    封装代表将部分程序隐藏起来,这就产生了私有的性质。

    private 私有的,与public的公开向对应。在对类中的属性进行封装时,在变量类型前面加 private关键字,这样外界实例化(类 对象 = new 类)这个类后也无法使用该属性。

    在这个类中对name 、age中加入private变为私有的。

    package oop.demo03;

    public class Demo01 {
       private String name;
       private int age;

    }

    这样在主方法中实例化后也不能访问这两个变量。

    package oop.demo03;

    public class Application {
       public static void main(String[] args) {
           Demo01 S1 = new Demo01();
           S1.name = "小明";//此处name爆红,无法访问
      }
    }

     

    get / set

    外界无法访问私有的属性,所以衍生出get/set。get/set的作用是外界可以通过这两个关键词访问内部私有的属性,但无法篡改内部数据。这就实现了封装的接口。

    get:获取这个数据

    set:给这个数据赋值

    get的使用:在被封装的类中使用 public 变量类型 get变量名(){return this.变量名;} 在主方法中使用new get变量名就可以使用了。

    package oop.demo03;

    public class Demo01 {
       private String name;
       private int age;

       public String getName(){//get使用
           return this.name;
      }
    }

     

    set的使用:在被封装的类中使用public void 变量类型 set变量名(赋值的变量类型 变量名1){this.变量名 = 变量名1}

    public void setAge(int a){//set使用
       this.age = a;
     


     

    set中,可以加入一些条件来使外部访问时更符合规则。

        public void setAge(int a){
           if (age>120 || age<0){
               this.age = 0;
          }else{
               this.age = a;
          }

    主方法中调用get/set

    在main方法中,先照常实例化变量(类名 对象名 = new 类名),然后使用 对象名.set被私有的参数名(赋值的数据);

    package oop.demo03;

    public class Application {
       public static void main(String[] args) {
           Demo01 demo01 = new Demo01();
           demo01.setAge(50);
           System.out.println(demo01.getAge());

      }
    }
  • 相关阅读:
    【KVM系列 virt-v2v】virt-v2v过程中的报错
    大机与超级计算机的区别
    多路径 on linux
    ansible 管控 windows
    Linux启动盘
    RHCA 环境命令
    Xshell 4 连接 Ubuntu/Kali 报错 "找不到匹配的key exchange算法"
    security group & ACL
    windows powercfg
    OKD
  • 原文地址:https://www.cnblogs.com/jinweichaoyouqu/p/13955008.html
Copyright © 2011-2022 走看看