• c#属性和索引器


    1、属性
    所谓属性其实就是特殊的类成员,它实现了对私有类域的受控访问。在C#语言中有两种属性方法,其一是get,通过它可以返回私有域的值,其二是set,通过它就可以设置私有域的值。比如说,以下面的代码为例,创建学生姓名属性,控制对name字段的受控访问:
    Code
    2、索引器
    简单说来,所谓索引器就是一类特殊的属性,通过它们你就可以像引用数组一样引用自己的类。显然,这一功能在创建集合类的场合特别有用,而在其他某些情况下,比如处理大型文件或者抽象某些有限资源等,能让类具有类似数组的行为当然也是非常有用的。比如,上例中,我们假设一个班级有若干个学生,构建索引器就可以很方便地调用:
    Code
    上面代码中,我们看到索引器的访问器带一个参数(参数为整数),其实可以构建多个参数的索引器。还以上述代码为例,我们要根据学生学号和姓名得到学生的考试总分,修改后代码如下:
    Code
    3、总结:
    <1>、

    属性的定义:
    访问修饰符 返回类型 属性名


          get{语句集合}
          set{语句集合}

    索引器的定义:

    访问修饰符 返回类型 this[参数类型 参数...]

           get{语句集合}
           set{语句集合}

    <2>、

    索引器使得对象可按照与数组相似的方法进行索引。
    this 关键字用于定义索引器。
    get 访问器返回值。set 访问器分配值。
    value 关键字用于定义由 set 索引器分配的值。
    索引器不必根据整数值进行索引,由你决定如何定义特定的查找机制。
    索引器可被重载。
    <3>、属性和索引器的主要区别:
    a、类的每一个属性都必须拥有唯一的名称,而类里定义的每一个索引器都必须拥有唯一的签名(signature)或者参数列表(这样就可以实现索引器重载)。
    b、属性可以是static(静态的)而索引器则必须是实例成员。
    <4>、索引器重载实例:

    Code


    作者:Jeff Wong
    出处:http://jeffwongishandsome.cnblogs.com/
    本文版权归作者和博客园共有,欢迎围观转载。转载时请您务必在文章明显位置给出原文链接,谢谢您的合作。

  • 相关阅读:
    Spark学习笔记1
    Scala学习笔记
    Scala实现网站流量实时分析
    使用Docker搭建Spark集群(用于实现网站流量实时分析模块)
    使用Docker搭建Hadoop集群(伪分布式与完全分布式)
    Docker配置阿里云镜像源
    从centos7镜像到搭建kubernetes集群(kubeadm方式安装)
    来做一个简单的成绩查询!(输入输出)
    String类的知识点(不断更新)
    人机猜拳游戏Java
  • 原文地址:https://www.cnblogs.com/jeffwongishandsome/p/1448079.html
Copyright © 2020-2023  润新知