zoukankan      html  css  js  c++  java
  • 面向对象之封装

      面向对象的三大特征:封装、继承、多态

      封装:

        包装:

          1.方便携带--->访问方便

          2.保护性

          3.安全性

      封装可以认为是一个保护屏障,防止该类的代码和数据被其他类随意的访问,如果要访问该数据,必须通过指定的方式;

      适当的封装可以让你的代码更容易理解和维护,也加强了代码的安全性。

      狭义的封装一般是把类中的成员变量隐藏起来,如果需要访问某个隐藏的成员变量,提供公共方法对其访问。

      广义的封装范围包罗万象。

      

      封装的步骤:

        1.使用权限修饰符private(私有的,私人的,自己的),private修饰类中的成员变量,此时类中的成员变量就隐藏起来了;

        2.提供对应的一对getXxx()方法和setXxx()方法  Xxx-->成员变量名(首字母大写)

      private的含义:

          1.private可以修饰成员变量和成员方法。

          2.private是一个权限修饰符,代表的是最小的权限。

          3.被private修饰后的成员变量和成员方法,只能在本类中访问。

      成员变量:

        1.如果没有手动进行赋值,系统会自动进行赋值(默认值);

        2.成员变量不同的数据类型进行初始化赋值是不同的;

          整型(byte short int long)--->0

          浮点型(float double)  --->0.0

          字符型(char)      --->空格"u0000"

          布尔型(boolean)     --->false

          引用类型(类,String,接口)--->null

      封装优化1--->this关键字

        this代表所在类的当前对象的引用(地址值),即对象自己的引用;

        备注:方法被那个对象调用,方法中的this就代表那个对象,即谁调用,this就指代谁。

          1.就近原则

        this的使用格式:

          this.成员信息名

          通常使用this修饰方法中的变量,解决成员变量被隐藏的问题。

      封装优化2---构造方法

        构造方法的两个作用:

            1.进行对象的创建

            2.用来初始化对象中的成员变量信息

      当一个对象被创建出来的时候,构造方法用来初始化该对象,给对象的成员变量赋值。

      备注:
        当一个类被定义出来的时候,系统会自动给你一个构造方法,是一个没有参数的构造方法
        但是如果在类中自定义带参数的构造方法后,那么就会覆盖掉系统默认提供的无参数的构造方法。
      构造方法定义格式:
        修饰符 构造方法名(参数列表){
            //方法体
            ......
            
        }
      构造方法名与它所在的类名相同,它没有返回值。
      方法的重载:
      方法的重写:
      标准代码----JavaBean
        JavaBean 是Java语言编写类的一中标准规范,符合Java标准类,要求类必须是具体的和公共的,并且具有无参数的构造方法,

        提供用来操作成员变量的set和get方法
        成员变量是私有的,set和get方法是公共的。
       
        JavaBean标准类
            public class ClassName{
            
                //成员变量
                //构造方法
                //无参的构造方法(必须)
                //有参的构造方法(建议)
                //成员方法
                //getXxx()
                //setXxx()
                
          
      容器:
          将多个数据存储到一起每个数据成为该容器的元素。
      数组:
          存储数据长度固定的容器,需要保证多个数据的数据类型要一致。
      数组定义:
        方式一:推荐使用
            格式:数组存储的数据类型[] 数组名字 = new 数组存储的数据类型 [长度];
            如:定义一个长度为5的整形数组    int[] arr = new int[5];
              定义一个长度为10的字符串数组 String[] arr = new String[10];
        方式二:    
            格式:数组存储的数据类型[]    数组名称 = {元素1,元素2,元素3,......};
            如:定义一个存储张三 李四 王五 赵六字符串的数组容器
                String[] arr = {"张三","李四","王五","赵六"};
        方式三:
            格式:数组存储的数据类型[] 数组名称 = new 数组存储的数据类型[]{元素1,元素2,元素3,......};
            如:定义一个存储10,20,30,40的整型数组容器
                int[] arr = new int[]{10,20,30,40}
      备注:数组有定长特性,长度一旦指定,不可更改。

      数组的访问:
         索引:每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号成为数组的索引(index)
            可以通过数组的索引访问数组中的元素。索引不重复唯一            
        格式:
            数组名[索引]
            如: String[] arr = {"张三","李四","王五","赵六"};
            0--代表的就是数组中的第一个元素,1---代表的数组中的第二个元素,以此类推。。
                李四 = arr[1]
                赵六 = arr[3]
        数组的长度属性:每个数组都具有长度,而且是固定的
            格式:
                数组名.length
        获取数组的最大索引值:数组名.length-1
            String arr = {};//
        给数组中的索引对应的位置赋值:
            arr[index] = 值;
            
        数组遍历:【重点】
            数组遍历:就是将数组中的每个元素分别获取出来,就是遍历。遍历是数组操作中的最重要的一环。
       

          

  • 相关阅读:
    Postman初探
    web页面和本地数据对比问题
    Katalon Recorder初探
    Flask入门
    自我实现预言
    gulp 安装 依赖
    maven环境
    加解密 生成 X.509格式,DER编码,后缀名.cer。加密公钥证书
    我的魔法 公式找回中
    gulp 自动ftp至服务器时,处理开发 测试服务器地址问题
  • 原文地址:https://www.cnblogs.com/lk625/p/13887619.html
Copyright © 2011-2022 走看看