当前位置:  编程技术>.net/c#/asp.net

C#类学习笔记之C#类的属性

    来源: 互联网  发布时间:2014-08-30

    本文导语:  C#类的属性定义 属性:get { //读属性代码 } set { //写属性代码 }   public class Person { private string name; public string Name {    get{return  name;}    set{ name=value;} } }   属性可以忽略get或set访问器,但是不能两个都忽略。 set访问器...

C#类的属性定义

属性:get { //读属性代码 } set { //写属性代码 }
 

public class Person
{
private string name;
public string Name
{
   get{return  name;}
   set{ name=value;}
}
}
 

属性可以忽略get或set访问器,但是不能两个都忽略。
set访问器包含一个隐藏的参数value,该参数包含从客户代码传送过来的值。
公共属性及其底层类型最好使用相同的名称,因为它们之间的联系将很清晰。

字段使用camelCase(xxXxx),如dateOfBirth,而属性使用PacalCase(XxXxx),如DateOfBirth.一些开发人员喜欢在字段的开头使用下划线,如_Name,属性也应使用名词来命名.

c#通过属性特性读取和写入字段,而不直接读取和写入,以此来提供对类中字段的保护.

属性按可以访问的类型分为三种不同的类型:

一,读/写属性
读/写属性是一个具有get()和set()访问器的属性.
语法:  [访问修饰符] 数据类型 属性
 

{
get{ };
set{ };
}

二,只读属性
仅具有get()访问器属性称为只读属性.
语法: [访问修饰符] 数据类型 属性名
 

{
get{ };
}

三,只写属性
仅具有set()访问器属性称为只写属性,不推荐使用只写属性.
语法: [访问修饰符] 数据类型 属性名
 

{
 set{ };
}

示例:
 

代码示例:

using System;

namespace Example1
{
 class Student
 {
  #region/***属性***/
  ///
  /// 姓名
  ///
  private string name;
  public string Name
  {
   get
   {
    return name;
   }

   set
   {
    if(value.length 24)
   throw new ArgumentException("value");
   hour = value;
}
 

类的属性称为智能字段,类的索引器称为智能数组。由于类本身作数组使用,所以用
this作索引器的名称,索引器有索引参数值。
例如:
 

代码示例:
using System;
using System.Collections;
class MyListBox
{
  protected ArrayList data = new ArrayList();
  public object this[int idx]  //this作索引器名称,idx是索引参数
  {
    get
    {
      if (idx > -1 && idx < data.Count)
      {
        return data[idx];
      }
      else
      {
        return null;
      }
    }
    set
    {
      if (idx > -1 && idx < data.Count)
      {
        data[idx] = value;
      }
      else if (idx = data.Count)
      {
        data.Add(value);
      }
      else
      {
        //抛出一个异常
      }
    }
  }
}
}

尽可能编写出运行效率更高,更健壮,更容易维护的C#代码。

 1 2 下一页 尾页

    
 
 

您可能感兴趣的文章:

  • C#学习笔记之C#的虚方法
  • C#学习笔记之C#中的类
  • C#学习笔记之C#类的初始化
  • C#.NET学习笔记5 C#中的条件编译
  • C#学习笔记之C#接口的索引器
  • C#学习笔记之C#只读字段
  • C# 全局变量的学习小结
  • c# 常量与字段学习
  • C#学习笔记之抽象类和抽象函数
  • c# MD5加密的代码(简单示例,仅供学习参考)
  • C# 泛型数组学习小结
  • C#学习笔记之C#结构
  • 实例学习C#中Ref,Out的用法
  • 版本控制ClearCase,求ClearCase的学习笔记。在线等待!分不够另开贴再加。 iis7站长之家
  • C#学习笔记之继承
  • C#类的学习笔记之C#构造函数
  • c#进度条ProgressBar学习笔记
  • C# 泛型数组实例学习与总结
  • 实例学习C#中is与As运算符号的用法
  • c# 类型构造器学习
  • python 基础学习第二弹 类属性和实例属性
  • jQuery学习笔记之jQuery原型属性和方法
  • CSS学习笔记Padding 属性中参数的定义与使用
  • C#学习笔记之定义类的属性
  • PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 学习linux是用PC好还是笔记本好?
  • Oracle 10G进程体系学习笔记
  • Linux 下 Oracle 命令学习笔记
  • 版本控制ClearCase,求ClearCase的学习笔记。在线等待!分不够另开贴再加。
  • jQuery学习笔记之toArray()
  • Linux+Oracle学习笔记
  • SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER
  • MySQL定时器EVENT学习笔记
  • 哪位有西陆"Java初学者"论坛版主chairyuan的学习笔记,现在那里DOWN不了,拜托哪位发一份给我,谢谢:) myjava@263.net
  • Python学习笔记_数据排序方法
  • 设计模式---学习笔记2
  • Oracle数据库基本知识学习笔记
  • JS 正则表达式的相关方法(正则学习笔记1)
  • oracle 技巧学习笔记
  • java 学习笔记(入门篇)_java程序helloWorld
  • java 学习笔记(入门篇)_java的安装与配置
  • shell脚本编程之case语句学习笔记
  • SQL学习笔记一SQL基础知识
  • shell脚本编程之循环语句学习笔记
  • PHP学习笔记之字符串编码的转换和判断
  • PHP介绍及学习网站推荐
  • 想深入学习Java应该学习哪些东西
  • 准备学习docker: docker version命令查看版本
  • 新手提问:学习c++同时也想学习unix和linux
  • HTML 学习总结及下一步学习教程推荐
  • 学习c后,学习pb,大家提点建议,谢谢哦
  • OpenStack相关学习资料搜集
  • 有最近开始学习Minix的吗?一起来学习吧
  • juqery的python实现:pyquery学习使用教程
  • 我想问问哪里有AIX下啊!~版本越新越好!~我想拿来学习学习
  • 想找共同学习Linux的新手,一起学习,共同成长


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3