WEB开发网
开发学院软件开发C语言 C# 语法练习(9): 类[一] - 访问限制、方法、字段、... 阅读

C# 语法练习(9): 类[一] - 访问限制、方法、字段、属性

 2009-02-23 08:16:53 来源:WEB开发网   
核心提示: 字段:using System;class MyClass{public int F1; /* 字段也有 public、internal、protected、private 的区别, 默认是 private */public static int F2; /* 静态字段, 可通过类名读

字段:

using System;

class MyClass
{
  public int F1; /* 字段也有 public、internal、protected、private 的区别, 默认是 private */
  public static int F2;   /* 静态字段, 可通过类名读写 */
  public const int F3 = 2008; /* 常量字段, 可通过类名读, 只读 */
  public readonly int F4;   /* 只读字段, 通过对象读; 只能在声明时和构造函数中赋值 */
  
  public MyClass()
  {
    F4 = 2010;
  }
}

class Program
{
  static void Main()
  {
    /* 通过类名可以访问 F2、F3; 但 F3 是只读的 */
    Console.WriteLine(MyClass.F2); //0
    Console.WriteLine(MyClass.F3); //2008
    MyClass.F2 = 2009;
    Console.WriteLine(MyClass.F2); //2009

    /* 通过对象可以访问 F1、F4; 但 F4 是只读的 */
    MyClass obj = new MyClass();
    Console.WriteLine(obj.F1);   //0
    Console.WriteLine(obj.F4);   //2010
    obj.F1 = 2009;
    Console.WriteLine(obj.F1);   //2009

    Console.ReadKey();
  }
}

属性:

using System;

class MyClass
{
  private int MyInt;

  public int MyProperty
  {
    get { return MyInt; }
    set { if (value >= 0) MyInt = value; else MyInt = 100; }
  }
}

class Program
{
  static void Main()
  {
    MyClass obj = new MyClass();

    obj.MyProperty = 2009;
    Console.WriteLine(obj.MyProperty); //2009

    obj.MyProperty = -1;
    Console.WriteLine(obj.MyProperty); //100

    Console.ReadKey();
  }
}

只读属性:

using System;

class MyClass
{
  private int MyInt = 100;

  public int MyProperty
  {
    get { return MyInt; }
  }
}

class Program
{
  static void Main()
  {
    MyClass obj = new MyClass();

    Console.WriteLine(obj.MyProperty); //100

    Console.ReadKey();
  }
}

上一页  1 2 3 

Tags:语法 练习 访问

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接