C# 物件導向程式設計(Object-oriented programming,OOP) (四) 多型

  • 2770
  • 0
  • C#
  • 2016-01-12

多型(Polymorphism):指的是您可以有多個交替使用的類別,即使每個類別是以不同的方式來實作相同的屬性或方法。.

多型又稱同名異式,是透過動態繫結的方式讓我們在程式執行時期可以動態決定物件參考所要執行的方法,多型允許我們在程式中使用名稱相同的方法或屬性,但不須考慮當時使用的物件型別是什麼。若要設計多型,子類別就必須先覆寫父類別同名稱的方法或屬性,接著再使用父類別的物件參考來選擇所要執行子類別物件實體的方法。由於多型的使用上會在類別中建立名稱相同的成員(屬性或方法),多載(Overloading)和覆寫(Overriding)也可以建立名稱相同的成員,因此有必要釐清這兩者的概念。

本文以C#實作執行介紹。

...繼續閱讀 »

C# 物件導向程式設計(Object-oriented programming,OOP) (二) 封裝

封裝:(Encapsulation):指的是將一組相關的屬性、方法和其他成員,視為單一單位或物件。

物件都會擁有物件內部的私有部分(屬性、方法...)而這些部分必須是外界無法直接存取,這樣才能保有物件的完整性。
如果"破壞封裝"的話,會有可能無法恢復原來的功能,因此物件必須將私有的部分封裝在物件的內部,而使用者只能藉由物件所提供的方法、屬性來操控物件,以保持物件的完整性,這就是封裝的特性。

封裝當中也有另一個概念就是所謂的"抽象化",也就是對於一個事物來說,我們只需要知道他怎麼操作就好,但是它的內部構造或實作方法是怎麼樣的我們不需要去理解,所以我們在實施封裝的特性時,就要讓別人不知道類別的內部成員是如何實作,只能透過該物件提供的公開類別成員來進行操作。

 

本文以C#實作執行介紹。

 

...繼續閱讀 »

C# 物件導向程式設計(Object-oriented programming,OOP) (一) 介紹

  • 14265
  • 0
  • C#
  • 2016-01-21

物件導向程式設計(OOP)是一種程式設計的典範,也可以看成是一種程式設計的方法。所謂的"物件"指的就是具有屬性和方法的資料,物件的特徵用"屬性"來描述,物件的行為以"方法"來描述。

物件就是利用類別的設計所製作出來的成品,類別是用來對物件做分門別類,是一群具有相同性質物件的集合。類別是用來描述這些物件的屬性和方法,類別本身並不是實際的物件。類別只是一種抽象的資料型別,而物件則是屬於該種資料型別的實體變數。

物件導向的三大特性:
封裝:(Encapsulation):指的是將一組相關的屬性、方法和其他成員,視為單一單位或物件。
繼承(Inheritance):則是描述依據現有類別來建立新類別的能力。
多型(Polymorphism):指的是您可以有多個交替使用的類別,即使每個類別是以不同的方式來實作相同的屬性或方法。

...繼續閱讀 »