正文

C# 语言规范--1.7 类2006-09-03 18:30:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/vc2006/18206.html

分享到:

类声明定义新的引用类型。一个类可以从另一个类继承,并且可以实现多个接口。 类成员可以包括:常数、字段、方法、属性、事件、索引器、运算符、实例构造函数、析构函数、静态构造函数和嵌套类型声明。每个成员都有关联的可访问性,它控制能够访问该成员的程序文本区域。有五种可能的可访问性形式。下表概述了这些形式。 形式 直观含义 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 {} } 显示了这些成员的用法。

阅读(3387) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册