C#筆記——解構函式 虛方法 頁面處理事件的流程 伺服器控制元件
阿新 • • 發佈:2018-12-13
解構函式定義:建構函式用於實現類的例項的初始化。每個類都有建構函式,即使沒有宣告它,編譯器也會自動提供一個預設的建構函式。當建立一個物件的時候,自動呼叫建構函式,執行其中語句。使用建構函式請注意以下幾個問題:一個類的建構函式通常與類名相同建構函式不宣告返回型別,也不能定義為void建構函式一般都是public型別,如果是private表明該類不能被例項化解構函式當銷燬這個類的時候呼叫,用來釋放建立類所佔有的資源。當物件脫離其作用域時(例如物件所在的 函式已呼叫完畢),系統自動呼叫解構函式。using System;class Desk{//建構函式和類名一樣,解構函式前面加~
public Desk(){ Console.WriteLine("Constructing Desk"); weight=6; high=3; width=7; length=10; Console.WriteLine("{0},{1},{2},{3}",weight,high,width,length);}~Desk(){ Console.WriteLine("Destructing Desk ");} protected int weight; protected int high; protected int width; protected int length;public static void Main(){ Desk aa=new Desk(); Console.WriteLine("back in main() ");} }
using System;class Test{ static void Main(string[] args) { Base b = new Base(); b.Draw(); Derived d = new Derived(); d.Draw(); d.Fill(); Base obj = new Derived(); //基類物件obj指向派生類的例項 obj.Fill(); //Base.Fill obj.Draw(); //非Base.Draw 而是 Derived.Draw }}class Base{ public void Fill() { System.Console.WriteLine("Base.Fill"); } public virtual void Draw() { System.Console.WriteLine("Base.Draw"); }}class Derived : Base{ //Derived是Base的派生類 public override void Draw() { System.Console.WriteLine("Derived.Draw"); } public new void Fill() { System.Console.WriteLine("Derived.Fill"); }}