程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C# 語言規范--1.7 類

C# 語言規范--1.7 類

編輯:關於C語言
規范   類聲明定義新的引用類型。一個類可以從另一個類繼承,並且可以實現多個接口。

    類成員可以包括:常數、字段、方法、屬性、事件、索引器、運算符、實例構造函數、析構函數、靜態構造函數和嵌套類型聲明。每個成員都有關聯的可訪問性,它控制能夠訪問該成員的程序文本區域。有五種可能的可訪問性形式。下表概述了這些形式。

    形式 直觀含義
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
   {}
}
    顯示了這些成員的用法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved