AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > .NET技术

C# 语言规范--1.7 类

51自学网 http://www.51zixue.net

类声明定义新的引用类型。一个类可以从另一个类继承,并且可以实现多个接口。

类成员可以包括:常数、字段、方法、属性、事件、索引器、运算符、实例构造函数、析构函数、静态构造函数和嵌套类型声明。每个成员都有关联的可访问性,它控制能够访问该成员的程序文本区域。有五种可能的可访问性形式。下表概述了这些形式。

形式直观含义
public
不限制访问。
protected
访问限于该成员所属的类或从该类派生来的类型。
internal
访问限于此程序。
protected internal
访问限于此程序或从该成员所属的类派生的类型。
private
访问限于该成员所属的类型。

示例

using System;class MyClass{   public MyClass() {      Console.WriteLine("Instance constructor");   }   public MyClass(int value) {      MyField = value;      Console.WriteLine("Instance constructor");   }   ~MyClass() {      Console.WriteLine("Destructor");   }   public const int MyConst = 12;   public int MyField = 34;   public void MyMethod(){      Console.WriteLine("MyClass.MyMethod");   }   public int MyProperty {      get {         return MyField;      }      set {         MyField = value;      }   }   public int this[int index] {      get {         return 0;      }      set {         Console.WriteLine("this[{0}] = {1}", index, value);      }   }   public event EventHandler MyEvent;   public static MyClass operator+(MyClass a, MyClass b) {      return new MyClass(a.MyField + b.MyField);   }   internal class MyNestedClass   {}}

显示了一个类,它包含了具有各种可访问性的成员。示例

class Test{   static void Main() {      // Instance constructor usage      MyClass a = new MyClass();      MyClass b = new MyClass(123);      // Constant usage      Console.WriteLine("MyConst = {0}", MyClass.MyConst);      // Field usage      a.MyField++;      Console.WriteLine("a.MyField = {0}", a.MyField);      // Method usage      a.MyMethod();      // Property usage      a.MyProperty++;      Console.WriteLine("a.MyProperty = {0}", a.MyProperty);      // Indexer usage      a[3] = a[1] = a[2];      Console.WriteLine("a[3] = {0}", a[3]);      // Event usage      a.MyEvent += new EventHandler(MyHandler);      // Overloaded operator usage      MyClass c = a + b;   }   static void MyHandler(object sender, EventArgs e) {      Console.WriteLine("Test.MyHandler");   }   internal class MyNestedClass   {}}

显示了这些成员的用法。

 

 

 
上一篇:C# 语言规范--1.8 结构  下一篇:C# 语言规范--1.6 语句