zoukankan      html  css  js  c++  java
  • 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;

          }

        }

      }

      

  • 相关阅读:
    python 读csv文件时,在csv类型上执行类型转换
    python 读csv文件对列名进行合法性验证
    python 读csv数据 通过改变分隔符去掉引号
    python 写csv文件
    python 简单了解namedtuple
    python 读csv格式的文件
    python 序列化,反序列化
    PyQt5 笔记(05):信号/槽
    PyQt5 笔记(04):主窗口卡死问题
    PyQt5 笔记(03):弹出窗口大全
  • 原文地址:https://www.cnblogs.com/158-186/p/10538418.html
Copyright © 2011-2022 走看看