物件导向程式设计入门.ppt

第 8 章 物件導向程式設計入門 本章提要 8-1 物件導向與類別 8-2 定義類別 8-3 類別與指標 8-4 friend 類別的夥伴 8-5 綜合演練 8-1 物件導向與類別 寫程式的最終目的是為了解決人們的問題, 而當電腦的應用愈來愈廣泛時, 所需設計的程式也變得愈來愈複雜, 而以傳統程序導向的程式設計方式, 要解決真實世界中各種問題也就顯得捉襟見肘。 物件導向與類別 此時就有人提出一種新的觀念, 亦即程式本身要能模擬真實世界的運作方式, 設計程式時的思考方式便是以真實世界的運作方式來思考如何解決問題, 這種新的計計理念就稱為物件導向程式設計, 其中模擬真實世界的方式就是使用物件 (object)。 物件:C++ 舞台劇的演員 如果將 C++ 程式比擬為一齣舞台劇的話, 那麼要說明甚麼是物件導向程式語言就不難了。要上演一齣舞台劇, 首先必須要有導演, 先將自己想要表達的理念構思好。然後再由編劇將劇裡所需要的角色、道具描繪出來, 並且將這些元素搭配劇情撰寫出劇本。最後, 再由演員以及道具在舞台上依據劇本實際的演出。 物件:C++ 舞台劇的演員 每一個 C++ 程式也一樣可以分解為這些要素, 導演就是撰寫程式的您, 要先設想程式想要完成甚麼事情。接下來的編劇當然還是您, 必須先規劃出如何完成工作。以下就說明 C++ 程式中相對於一齣舞台劇的各個元素, 讓讀者瞭解如何運用這樣的觀念設計程式。 類別 (Class) 與物件 一齣舞台劇有了基本的構思之後, 接下來就要想像應該有哪些角色來展現這齣劇, 每一種角色都會有它的特性以及要做的動作。 舞台劇的角色與演員 C++ 的類別與物件 舞台劇的角色與演員 舉例來說, 如果演出西遊記, 不可缺少的當然是美猴王這位主角, 它有多種表情、還能夠進行 72 變。除了美猴王以外, 當猴子猴孫的小猴子也少不了, 這些小猴子可能有 3 種表情, 而且可以跑步、爬樹等等。想好了角色、編好劇本後, 還得找演員來演出這些角色, 否則只是空有劇本, 觀眾根本看不到。有些角色, 像是美猴王, 在整個劇中只有一個;但有些角色, 像是小猴子, 可能就會有好幾個, 就得找多個演員來演出這些角色, 只是每一個猴子站的位置、表情不一樣。 舞台劇的角色與演員 舞台劇的角色與演員 同樣的道理, 舞台上除了演員外, 可能還需要一些布景或道具, 每一種布景也有它的特性與可能的動作。舉例來說, 西遊記中美猴王騰雲駕霧, 舞台上可少不了雲。雲可能有不同顏色、形狀, 也可以飄來飄去, 而且同時間舞台上可能還需要很多朵雲。 舞台劇的角色與演員 這些不論是要演員演的、還是要道具來表現的, 都可以通稱為角色。在劇本中就以文字來描述這些角色的特性以及行為, 並且描述整個劇的進行, 然後再找演員或是製作道具來實際演出。 C++ 的類別與物件 每種角色都有其自我的屬性和行為, 這些角色在 C++ 中就稱為類別 (Class), 例如小猴子這個角色, 應該都具有相似的屬性及行為 (例如都會爬樹) 而實際演出的演員則稱為物件 (Object), 每個物件都是獨立的個體, 可以表現出與眾不同的行為。例如在一場戲中, 有的小猴子在玩水、有的小猴子在爬樹等等。 當我們在設計程式時, 首先就是規劃出參與演出的有哪些類型的角色, 並定義出相對應的類別。 C++ 的類別與物件 接著劇本就是寫在 main() 函式中, 在 main() 函式中各演出者要一一上場或放置在特定的位置上, 這些演出者就是所謂的物件, 它們是根據事先定義好的類別所產生的。例如需要有 5 個小猴子上場, 要由小猴子的類別產生 5 個小猴子物件上場演出。 當我們構思好故事大綱後, 就需擬定參與角色的特性, 此時就是要宣告類別, 因此以下就先看如何宣告及定義類別。 8-2 定義類別 類別又稱為使用者自訂資料型別 (User Defined Data Type), 表示它是由程式設計人員自訂出的資料型別, 而編譯器也會把類別當成一種資料型別來處理。 定義類別的語法 資料成員 成員函式 靜態成員 定義類別的語法 我們可以用 class 或 struct 關鍵字來定義類別, 但最常用到的則是 class 定義類別時的語法如下: 定義類別的語法 以上就是定義類別的敘述架構, 例如以下就是定義一個空白的類別, 其名稱為 Car: 完成類別的定義, 就等於告訴編譯器我們已定義了一個新資料型別, 接著就能用它來建立物件了, 宣告的方式和使用內建資料型別宣告變數一樣: 定義類別的語法 在此類別名稱就像是一個新的型別名稱, 並可用來定義出各個性質相同的物件, 這些物件就稱為該類別的個體 (Instance), 例如上例中的 mycar、yourcar 就稱為 Car 類別的個體。 此外我們也可在定

文档评论(0)

1亿VIP精品文档

相关文档