程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 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