Qt物件導向:什麼是類別?

在物件導向設計中,程式設計者通常使用類別去產生物件,因此類別主要描述你要產生的物件.換句話說,我們像畫設計圖似地去設計具有特定功能的類別,然後在程式像變數去初始化具有類別功能的變數,而此變數即稱為物件.然而請注意你可以產生多個物件,但類別只有唯一一個,就像一個設計圖可以產生許多產品.

圖一描述類別的構成,我們通常在資料成員使用定義符private或protected修飾,一方面是不允許類別以外成員函數去更改資料成員值,而且在衍生類別(derived class)可依據衍生類別需求對資料成員做不同的操作,因此成員函數通常使用定義符public修飾.其實這種受限處理資料成員的方法,我們通常可稱作封裝.
    圖一.類別的構成(source: IBM developerWorks)


  1. 類別的基本定義 [1] 
    • 資料成員(data member) 
    • 成員函數(member function) 
      • 通常用來管理或操作資料的成員 
    • 處理的定義符( access specifiers) 
      • public : 
        • 只要宣告物件,即可以直接存取資料成員 
      • private: 
        • 只有類別的成員函數可以處理類別內的資料的成員. 
        • 衍生類別的成員函數也無權存取類別成員
      • protected: 
        • 無論基底類別或衍生類別,類別的成員函數都可以存取類別成員
Reference:
  1. Alan Ezust, Paul Ezust, An Introduction to Design Patterns in C++ with Qt 4, Chapter 2
  2. UML basics: The class diagram, IBM developerWorks 
  3. [online]:http://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/

留言

這個網誌中的熱門文章

VirtualBox教學:重設硬碟(.vdi)大小(上)

VirtualBox教學:重設硬碟(.vdi)大小(下)

VirtualBox教學: 新增Windows7虛擬電腦(下)