當前位置:編程學習大全網 - 編程軟體 - C#中的Image不能被實例化,但是方法返回壹個Image是怎麽回事?

C#中的Image不能被實例化,但是方法返回壹個Image是怎麽回事?

有幾個原因:

第壹: FromFile是定義在Image類中的static(靜態)方法:

public static Image FromFile( string filename );

壹個類的靜態方法也被稱為類方法 —— 即通過“類名.方法名”調用方法,不需要實例化類。所以通過 Image.FromFile() 調用方法。

第二: 在.net中Image被定義為抽象類(abstract class),所以Image不允許被實例化。但是,Image不允許被實例化,並不表示不允許用 Image 來引用 Image 子類的實例。

第三:

Image img = Image.FromFile("a.bmp");

從Bmp文件實例化壹個Bitmap對象。Bitmap是Image的子類。聲明壹個Image類型變量 img去引用這個Bitmap實例;

img = Image.FromFile("a.wmf");

從Wmf文件實例化壹個MetaFile對象。MetaFile也是Image子類。讓變量img去引用這個MetaFile的實例。

第四:再進壹步延伸,上面所說的正是傳說中的“工廠方法模式”,壹種被廣泛使用的編程模式。

  • 上一篇:p的小寫字母是什麽?
  • 下一篇:河源理工學校有什麽專業
  • copyright 2024編程學習大全網