zoukankan      html  css  js  c++  java
  • Java三大特性之封装

    一.封装

    封装概念:

      将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

    封装解决什么问题:

    如果任何一个处理类都可以直接对对象的属性进行赋值操作,那么当值不准确的时候,可能会产生额外的结果

    封装的作用:

    使用封装可以保证数据的规范,不符合规范的数据将无法进行操作

    封装的好处:

    1.隐藏类的内部实现细节

    2.只能通过提供的方法进行访问,其他方法无法访问

    3.可以根据需求添加复杂的逻辑判断语句

    4.方便修改实现

    面向对象的封装(侠义)可以用一句话概述:

    将类中的属性设置为私有属性,提供公有的外部方法供程序进行调用,可以实现丰富的细节操作(及为了保证是数据安全和规范)

    广义的封装:

    可以将完成特定功能的代码块封装成一个方法,供不同的程序进行调用

    程序设计要追求“高内聚低耦合”:

    高内聚就是类的内部数据操作细节自己完成,不允许外部干涉

    低耦合就是仅暴露少量的方法给外部使用

    如何使用封装:

      

    例如:封装年龄属性

      private  int  age;

      public  int  getAge(){                

        return  this.age;       

      }              

      public  void  setAge(int  age){

        if(age > 0){

          this.age  =  age;

        }else {

          System.out.println("输入年龄不合法");

        }

      }

    二.访问控制符

    访问权限(以下分类按照从大到小进行排序):

      public:公共的

        当前项目中的所有的类都可以进行访问

      protected:受保护的

        可以被当前类访问,可以被当前包访问,可以被子类访问

      default:默认权限

        可以被当前类访问,可以被当前包访问

      private:私有的

        只能被当前类进行访问

    注意:类的访问权限只有两种

      public:可被同一项目中所有的类访问

      default:可被同一包中的类访问

    三.值传递

    方法参数的值是否改变

      方法中的参数列表叫做形式参数,没有具体的值,只是为了方便在方法体中使用

      调用方法的时候实际传入的值叫做实际参数,代表具体的数值,用来替换在方法体中代码逻辑的值进行运算

      注意:

        1.形式参数的变量名称也是局部变量

        2.当方法的参数值是基本数据类型的时候,不会改变原来的值

        3.当方法的参数值是引用类型的时候,如果改变了该引用类型的值,会改变原来对象的值

         不会改变原有值:                               会改变原有值:

                

  • 相关阅读:
    组合模式及C++实现
    YUV422(UYVY)转RGB565源代码及其讲解.md
    会用errno,事半功倍
    可变参数宏
    camera理论基础和工作原理
    !!!??? 2.3 核心模块与应用程序的对比
    KVM与VMware的性能比较
    单片机中定时器与计数器的区别
    编译器对变量的内存分配方式
    【转载】Modelsim 与Vivado联合仿真版本对应问题
  • 原文地址:https://www.cnblogs.com/lyc-code/p/12489015.html
Copyright © 2011-2022 走看看