2008年4月17日 星期四

物件導向觀念

在這篇文章中,我將要介紹在C#當中物件繼承的觀念,我們以下列的範例來解釋
存取修飾詞的限制這篇文章中我們曾說明修飾詞的特性,因此本篇不再多加以說明。

下面這個範例總共可以分成四個類別:MainClassVehicleCarMotorcycle
而主要的內容即為後三個類別,CarMotorcycle皆繼承自Vehicle
並且我們可以看到Vehicle是一個抽象類別,其有兩個成員函數和一個建構子,
此兩個成員函數echo()跟getData()是本篇所要講述的主題,
我們可以看到echo()在Vehicle中它是一個抽象函數,所有繼承他的類別皆需要實作
也就是說實作的內容可以完全不一樣以達到自己類別本身的特性,
而getData()則是因為他在Vehicle中已經實作了,所以它的子類別或是衍生類別就可以直接使用它
不需要再重寫一遍。

存取修飾詞的限制

本篇參考來源來自MSDN詳請請參照請點我


類別(class)或結構(struct)的成員可以用五種存取層級來宣告

這些成員可以是公用(public)或內部(private)型別,就跟類別和結構本身一樣。

類別成員可以使用 protected 關鍵字宣告為受保護的成員,表示只有自己和使用繼承該類別的衍生類別,才可以存取這個成員。

當使用 protected 再加上 internal 關鍵字,就會將類別成員標記為受保護的內部成員,這時只有衍生類別或內部類別可以存取該成員。

最後,類別或結構的成員可以使用關鍵字 private 宣告為私用成員,表示只允許宣告該成員的類別或結構存取該成員。

C#連結Excel 2000範例

由於Excel 2000只支援"Microsoft Excel 9.0 Object Library"(Microsoft Excel 9 物件程式庫)
所以有些方法無法直接參照MSDN上的文章,有興趣請點我
然而在一開始一直想找出不要藉由現存的檔案來開啟,所以花了好久的時間查找文件

在Excel2000之前與Excel 2000所使用的命名空間規則並不相同,
前者所使用的命名空間為Microsoft.Office.Interop.Excel
後者則是Excel,接著因為要開啟的是一個空白的活頁簿
前者所要使用的方式為Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet
後者則是Excel.XlWBATemplate.xlWBATWorksheet,