• C#学习-属性是对字段的扩展


      属性是对字段的扩展。

      根据面向对象语言的封装思想,字段最好设为private,因为这样可以防止客户端直接对字段进行篡改,从而保证了内部成员的完整性。

      于是为了访问类中的私有字段,C#提供了属性这种机制,用来对字段进行灵活的控制和访问。以下是

      public class person

      {

        //私有字段定义

        private string name;

        //公有属性定义

        public string Name

        {

          //get访问器

          get

          {

            return name;

          }

          //set访问器

          set

          {

            name = value;

          }

        }//Name end

      }//class end

      属性定义主要由于get访问器和set访问器组成。

      get访问器负责对字段值进行读取;

      set访问器负责对字段进行赋值;

      get访问器和set访问器可以理解为两个方法,一个是用来返回字段,一个用来把用户传入的值赋给字段。

      C#为了使字段的访问过程更加简单,提出了属性的概念,通过操作属性来访问字段,避免了使用调用方法。

      属性除了能直接访问私有字段外,还可以根据需要加入更多的逻辑控制代码。

      例如,人的年龄一般在0-120岁之间,当代码试图将这个范围之外的数值赋给年龄字段时,则可在属性中添加抛出异常的代码对错误进行处理。以下是

      Pulic class Person  

      {

             Private int age;

          

             Public int Age

             {

                    //get访问器

                    Get

                    {

                           Return age;

          }

          Set

          {

                 //在Set访问器中添加更多的逻辑代码

                 If(value<0||value>120)

                 {

                      throw(new ArgumentOutOfRangeException(“AgeIntProPery”,value,”年龄必须在0-120之间”));

            }

            age=value;

          }

        }

      }

      

  • 相关阅读:
    【51nod1965】奇怪的式子
    【spoj】DIVCNTK
    【bzoj3173】最长上升子序列
    【UOJ 209】【UER #6】票数统计
    Fib数列2 费马小定理+矩阵乘法
    T37302 P哥的桶
    U32592 摘果实
    【loj6029】「雅礼集训 2017 Day1」市场&&【uoj#228】基础数据结构练习题
    【bzoj4631】踩气球 线段树
    [bzoj4922]Karp-de-Chant Number
  • 原文地址:https://www.cnblogs.com/158-186/p/10538418.html
Copyright © 2020-2023  润新知