跳到主要內容

發表文章

目前顯示的是 3月, 2013的文章

C#教材(4)類別與物件

類別與物件 分類的意義 分類在物件導向中扮演重要的概念,通常我們要規畫一個系統可以物件根據特性或是屬性將他歸類到各個類別中,例如車子,不管是本田、賓士或BMW等等,它們都有共同的行為像加速、停止或是方向燈指示等等和共同的屬性像方向盤、輪胎和引擎。當我們將問題經由分析來歸類形成模組化。但是在我們將類別模組化的同時,我們需要保護裡面的資訊而不被任意更改,這種方式我們稱為 封裝 。 共同行為 共同屬性 加速 停止 方向燈指示 方向盤 引擎 車燈 封裝 封裝可以保護物件裡面的資訊也可以適當的提供外面物件使用,所以我們也會將封裝稱為資訊隱藏(information hiding),主要有兩個概念                     1.將屬性或是方法封裝類別中,不給外面使用           2.適當控制物件的方法與屬性,來提供外部物件使用         類別的使用與定義 我們學習如何建立一個類別並建立裡面的方法與屬性,以上面可以知道,車子共同的行為與方法,可以寫成下列類別來表達,我們可以稱之它為Car類別: class Car                                                                                                                 ...

C#教材(7) 繼承與介面

繼承   繼承是物件導向一個很重要的特性,我們可以想像它是一種階層式的關係,如下所建,子類別(Child Class)會繼承父類別(Parent Class)所擁有的方法(Method)與屬性(Property)。例如: 父類別為筆,筆的屬性有名稱、價錢、外型和顏色。當我們要生產毛筆時,我們可以繼承這個父類別加入子類別自我的屬性: 繼承的優點 :  1.容易達成軟體再利用(Software reuse),並減少相同功能的重覆開發。 2.可透過繼承的方式來擴充原有類別的功能。 繼承語法   class subClass : parentClass{             // program               } 繼承的限制 子類別只可以繼承一個父類別  父類別繼承最上層的System.Object  子類別一定會呼叫父類別的建構子(如果沒有指定呼叫的建構子,會呼叫預設的建構子)   <parentClass> class parentClass{         public parentClass(string name)         {             //建構子         } } class subClass : parentClass{         public subClass(string name) : base(name)  // call parent constructor         {   ...